资源简介
用CPU的16位SPI驱动恒电流控制芯片TLE7242的源码。
代码片段和文件信息
#include “board.h“
#include “stdio.h“
/*****************************************************************************
* Private types/enumerations/variables
****************************************************************************/
//#define LPC_SSP LPC_SSP1
//#define SSP_IRQ SSP1_IRQn
//#define LPC_GPDMA_SSP_TX GPDMA_CONN_SSP1_Tx
//#define LPC_GPDMA_SSP_RX GPDMA_CONN_SSP1_Rx
#define LPC_SSP LPC_SSP0
#define SSP_IRQ SSP0_IRQn
#define LPC_GPDMA_SSP_TX GPDMA_CONN_SSP0_Tx
#define LPC_GPDMA_SSP_RX GPDMA_CONN_SSP0_Rx
#define BUFFER_SIZE (0x100)
#define SSP_DATA_BITS (SSP_BITS_16)
#define SSP_DATA_BIT_NUM(databits) (databits+1)
#define SSP_DATA_BYTES(databits) (((databits) > SSP_BITS_8) ? 2:1)
#define SSP_LO_BYTE_MSK(databits) ((SSP_DATA_BYTES(databits) > 1) ? 0xFF:(0xFF>>(8-SSP_DATA_BIT_NUM(databits))))
#define SSP_HI_BYTE_MSK(databits) ((SSP_DATA_BYTES(databits) > 1) ? (0xFF>>(16-SSP_DATA_BIT_NUM(databits))):0)
#define SSP_MODE_SEL (0x31)
#define SSP_TRANSFER_MODE_SEL (0x32)
#define SSP_MASTER_MODE_SEL (0x31)
#define SSP_SLAVE_MODE_SEL (0x32)
#define SSP_POLLING_SEL (0x31)
#define SSP_INTERRUPT_SEL (0x32)
#define SSP_DMA_SEL (0x33)
#define MSG_MSB(n) ((n&0xffff0000) >> 16)
#define MSG_LSB(n) (n&0x0000ffff)
#define MSG_WRITE (0x80000000)
#define MSG_READ (0x00000000)
#define MSG_CH0 (0<<24)
#define MSG_CH1 (1<<24)
#define MSG_CH2 (2<<24)
#define MSG_CH3 (3<<24)
#define ONOFF_ON (1<<22)
#define ONOFF_OFF (0<<22)
#define FCLK_7242 (27000000) //Hz
#define PWMDivider(Hz) ((FCLK_7242/32/Hz) & 0x3fff) //N
#define PWMSetpoint(mA) ((mA*2048*2/3200) & 0x07ff) //Setpoint
#define PWMKP(n) ((n&0x0fff)<<12) //kp
#define PWMKI(n) ((n&0x0fff)<<0) //ki
#define Threshold(mA) (PWMSetpoint(mA)<<12) //
#define MSG0_VerManu (0x00000000)
#define MSG1_MPeriod (0x04000000) //50~4K Hz
#define MSG2_PWMOffset (0x08000000)
#define MSG3_Current (0x0C000000) //
#define MSG4_DitherPeriod (0x10000000) //
#define MSG5_ControlVar (0x14000000) //
#define MSG6_ThresholdValue (0x18000000) //
#define MSG7_OnOffControl (0x1C000000) //
#define MSG8_DiagnosticConf (0x20000000) //
#define MSG9_DiagnosticRead (0x24000000) //
#define MSG10_CurrentRead (0x28000000) //
#define MSG11_AutozeroRead (0x2C000000) //
#define MSG12_DutyCycleRead (0x30000000) //
/* Tx buffer */
static uint8_t Tx_Buf[BUFFER_SIZE];
/* Rx buffer */
static uint8_t Rx_Buf[BUFFER_SIZE];
static SSP_ConfigFormat ssp_format;
static Chip_SSP_DATA_SETUP_T xf_setup;
static volatile u
- 上一篇:countlet变换,可以运行的,高手交流
- 下一篇:圣诞快乐小程序 桌面飘雪
相关资源
- VL53L0X 驱动源码
- 永久启动和禁用win10驱动签名验证脚本
- DebugView、DriverMonitor、IRPTrace、WinObj、
- 达尔优机械键盘驱动程序 v13.05.03 官方
- 雷柏v700s机械键盘驱动 v1.0.0.1 官方版
- 烽火狼q7鼠标宏
- 联想lenovo G480 USB3.0驱动程序 for win7
- nmos转移特性曲线hspice程序—&mdas
- StarNX400打印机驱动 官方版
- 易语言:郁金香驱动保护隐藏
- 基于STM32RCT6的步进电机驱动程序
- Spire API文档
- 直流无刷电机方波驱动 stm32 例程代码
- The direction of synaptic plasticity mediated
- elantech触控板驱动程序 v13.6.11 官方最
- 联想y470无线网卡驱动 for 32位64位
- 松下plc FP-XH的驱动
- IMX385驱动代码.zip
- 组态王驱动开发包3.0.0.7(中文)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- CASS9.1最新S4数据及驱动+ET199数据及驱
- 带有死区延时的H桥直流电机驱动电路
- USB转串口驱动,FT232R驱动程序,最新
- 德卡D3读卡器测试程序驱动文件
- WinCE下CP210x的驱动程序
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- ubuntu9.10 可加载内核模块和字符设备驱
- MCGS触摸屏西门子s7_1200驱动
- FPGA在步进电机驱动上的应用实例及代
- [免费]基于stm32f103ze 的OLED驱动代码
评论
共有 条评论