完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 TLE9893 的 SSC0 向一个 SPI 设备发送一些数据。
我正在手动控制芯片选择。 我有这样的代码来发送数据: static bool SCC0_TransmitInterrupt_EndTx = false;void SCC0_TransmitInterrupt (void){ SCC0_TransmitInterrupt_EndTx = true;}#define SSC_EEPROM 0#define SSC_MEMS 1void SSC0_Send ( uint8_t device, uint16_t sizeData, uint8_t * p_Data, bool endOperation ){ switch ( device ) { case SSC_EEPROM: GPIO_setP11State ( GPIO_STATE_LOW ); break; case SSC_MEMS : GPIO_setP09State ( GPIO_STATE_LOW ); break; } for ( uint16 i=0 ; i 我在示波器上看到的是 CS 信号太短。 因此,CS 过早被取消选择。 是否有移位寄存器(如 UART)? 数据寄存器中的字节传输到移位寄存器后,是否会产生传输结束中断? 我可以使用什么中断或轮询机制来检测所有数据是否已传输完毕? 谢谢! |
|
相关推荐
1个回答
|
|
sp; case SSC_EEPROM:
SSC0->CR = SSC_CR_TXEN; break; case SSC_MEMS: SSC0->CR = SSC_CR_TXEN | SSC_CR_TXSRC(1); break; default: break; } SCC0_TransmitInterrupt_EndTx = false; while (!SCC0_TransmitInterrupt_EndTx) { // Wait for the interrupt to be triggered } for (uint16_t i = 0; i < sizeData; i++) { SSC0->DR = *p_Data++; } // Disable the transmitter SSC0->CR &= ~SSC_CR_TXEN; } 在这段代码中,我们首先根据设备类型设置SSC0的控制寄存器(CR)。然后,我们将SCC0_TransmitInterrupt_EndTx标志设置为false,并在循环中等待传输中断触发。接下来,我们通过SSC0的数据寄存器(DR)发送数据。最后,我们禁用传输器。 关于您的问题,TLE9893的SSC0在数据寄存器中的字节传输到移位寄存器后,确实会产生传输结束中断。在您的代码中,当数据发送完毕后,SSC0_TransmitInterrupt()函数会被调用,并将SCC0_TransmitInterrupt_EndTx标志设置为true。这样,循环中的while语句会退出,表示传输已经完成。 请注意,为了确保传输中断能够正确触发,您需要在NVIC(嵌套向量中断控制器)中启用SSC0的中断。您可以使用以下代码启用SSC0的中断: NVIC_EnableIRQ(SSC0_IRQn); 同时,确保在您的项目中实现了SSC0_IRQn的中断处理函数,如下所示: void SSC0_IRQHandler(void) { SSC0_TransmitInterrupt(); } 这样,当SSC0的传输结束中断触发时,SSC0_IRQHandler()函数会被调用,进而调用SSC0_TransmitInterrupt()函数,将SCC0_TransmitInterrupt_EndTx标志设置为true,从而完成数据传输。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
1914 浏览 2 评论
3917 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3384 浏览 9 评论
1075 浏览 8 评论
3346 浏览 7 评论
227浏览 2评论
73浏览 2评论
179浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
1914浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
220浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-7-28 00:09 , Processed in 0.547791 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号