关于GD32F307芯片的ADC采样和CAN通信

[复制链接]
3351|13
 楼主| tkangsheng 发表于 2024-4-17 16:10 | 显示全部楼层 |阅读模式
关于GD32F307芯片的ADC采样和CAN通信,要进行实时的ADC采样,如果一直进入ADC中断的话是否会影响或打断CAN的正常通讯?CAN通讯和实时ADC+DMA可以有什么方式写不会相互有大影响吗?
huquanz711 发表于 2024-4-20 22:03 来自手机 | 显示全部楼层
ADC配置成自动采样,DMA读取数据。
shenxiaolin 发表于 2024-4-30 15:57 | 显示全部楼层
可以ADded优先级设置高一点,CAN通信的话实际上
suw12q 发表于 2024-5-16 13:12 | 显示全部楼层
在GD32F307芯片上,ADC采样和CAN通信可以同时进行,但需要注意一些细节以确保它们不会相互干扰
y1n9an 发表于 2024-5-16 14:17 | 显示全部楼层
如果一直进入ADC中断,会导致CPU一直在处理ADC中断服务程序,可能会影响CAN通信的正常进行
zhizia4f 发表于 2024-5-16 15:20 | 显示全部楼层
可以使用DMA来实现ADC的数据传输,减轻CPU的负担
su1yirg 发表于 2024-5-16 16:22 | 显示全部楼层
使用DMA进行实时ADC采样时,可以将ADC的转换结果直接传输到内存中,而不需要CPU的干预
tax2r6c 发表于 2024-5-16 17:26 | 显示全部楼层
CPU可以同时处理CAN通信和其他任务,而不会被ADC中断所打断
p0gon9y 发表于 2024-5-16 18:31 | 显示全部楼层
建议使用DMA进行ADC数据传输,不用阻塞式的方式哦
t1ngus4 发表于 2024-5-17 07:20 | 显示全部楼层
合理设置ADC和CAN的优先级,确保CAN的优先级高于ADC,以确保CAN通信不会被ADC中断打断
kaif2n9j 发表于 2024-5-17 09:14 | 显示全部楼层
使用合适的缓冲区大小和数据传输速率,以避免数据丢失或溢出
q1d0mnx 发表于 2024-5-17 10:19 | 显示全部楼层
其实通过合理设置优先级和使用DMA进行数据传输,可以实现实时ADC采样和CAN通信的同时进行,减少它们之间的相互影响
q1ngt12 发表于 2024-5-17 12:00 | 显示全部楼层
一般就是优先级方式了,其实也可以使用OS操作系统,这样调度就不会冲突了

ead5ah 发表于 2024-6-30 23:27 | 显示全部楼层
使用 DMA 进行 ADC 数据传输:这是最常见的实现方式,可以大幅减少 CPU 的干预,使得 ADC 采样过程对其他任务的影响最小化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部