完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用xmc7100 SCU外设 用做Uart通讯,需要实现接收不定长数据帧。由于没有接收数据线空闲中断。想请教一下在xmc7100上,除了采用timer+polling方式外,是否还有其他方式可以实现这个功能。
|
|
相关推荐
1个回答
|
|
XMC7000系列的UAR(Universal Asynchronous Receiver/Transmitter)外设确实支持接收空闲中断。在XMC7100微控制器中,SCU(System Control Unit)外设也可以用来实现UART通信。为了实现接收不定长数据帧,我们可以采用以下步骤:
1. 配置UAR外设:首先,需要配置UAR外设的基本参数,如波特率、数据位、停止位和奇偶校验等。这些参数可以通过设置UAR的控制寄存器来实现。 2. 启用接收空闲中断:为了实现接收不定长数据帧,我们需要启用接收空闲中断。这可以通过设置UAR的中断控制寄存器来实现。具体来说,需要设置接收空闲中断使能位(RXFIFO.FLCTRL.EN)。 3. 配置中断优先级:在XMC7100中,需要配置中断优先级以确保中断能够正确触发。这可以通过设置NVIC(Nested Vectored Interrupt Controller)的优先级寄存器来实现。 4. 编写中断服务函数:编写一个中断服务函数,用于处理接收空闲中断。在该函数中,可以检查接收到的数据帧长度,并根据需要进行处理。 5. 启动UAR外设:在配置完UAR外设和中断后,需要启动UAR外设以开始通信。这可以通过设置UAR的控制寄存器中的启动位(UAR_GCR.START)来实现。 6. 接收数据:在中断服务函数中,可以不断检查接收到的数据帧,并根据需要进行处理。由于启用了接收空闲中断,当接收到的数据帧之间出现空闲时,中断服务函数会被触发。 通过以上步骤,我们可以在XMC7100上实现接收不定长数据帧的功能,而无需使用timer+polling方式。这种方式可以提高通信效率,降低CPU占用率。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
375 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6407 浏览 2 评论
4112 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3639 浏览 9 评论
1236 浏览 8 评论
467浏览 2评论
276浏览 2评论
384浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6423浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
470浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 13:51 , Processed in 0.657284 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号