在线时间352 小时
UID2053419
注册时间2014-11-27
NXP金币0
TA的每日心情 | 衰 2016-10-20 09:45 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
版主
  
- 积分
- 2223
- 最后登录
- 2023-11-20
|
DOCK板上带有一块LCD屏,原理图,SPI驱动
为了方便快速上手,直接采用SDK中的列程进行移植
1、DSPI初始化
- /**
- * @brief DSPI0 初始化
- * @param
- * @param
- * @retval
- */
- void DSPI_Init(void)
- {
- uint32_t sourceClock;
- dspi_master_config_t masterConfig;
- memset((void *)&masterConfig, 0, sizeof(masterConfig));
- /*Master config*/
- masterConfig.whichCtar = kDSPI_Ctar0;
- masterConfig.ctarConfig.baudRate = 1000000U; //1M
- masterConfig.ctarConfig.bitsPerFrame = 8;
- masterConfig.ctarConfig.cpol = kDSPI_ClockPolarityActiveHigh;
- masterConfig.ctarConfig.cpha = kDSPI_ClockPhaseFirstEdge;
- masterConfig.ctarConfig.direction = kDSPI_MsbFirst;
- masterConfig.ctarConfig.pcsToSckDelayInNanoSec = 0;
- masterConfig.ctarConfig.lastSckToPcsDelayInNanoSec = 0;
- masterConfig.ctarConfig.betweenTransferDelayInNanoSec = 0;
- masterConfig.whichPcs = kDSPI_Pcs2;
- masterConfig.pcsActiveHighOrLow = kDSPI_PcsActiveLow;
- masterConfig.enableContinuousSCK = false;
- masterConfig.samplePoint = kDSPI_SckToSin0Clock;
- sourceClock = GetClock(kBusClock);
- DSPI_MasterInit(SPI0, &masterConfig, sourceClock);
- }
复制代码 2、直接 LCD_Initialize();
3、在CAN接收函数中打印出报文信息
- void CAN_ISR(void)
- {
- uint8_t buf[8];
- uint8_t len;
- uint32_t id;
- uint8_t i =0 ;
- char txt[50];
- if(CAN_ReadData(HW_CAN0, 1, &id, buf, &len) == 0)
- {
-
- //打印CAN接收到的报文
- LCD_PutString(0,20,"FlexCAN Received info:\n") ;
- sprintf(txt,"CANID:%X\n",id) ;
- LCD_PutString(0,30,txt);
- LCD_PutString(0,40,"CANData:");
-
- while(len--)
- {
- sprintf(txt,"%X ",buf[len]);
- LCD_PutString(i,50,txt);
- i+=15;
- }
-
-
-
- }
- }
复制代码 最后Debug,显示出报文的ID和数据!
最后附上工程,喜欢的童鞋请自由发挥!
Demo.rar
(9.22 MB, 下载次数: 26)
|
|