1
本帖最后由 Nanger 于 2024-3-21 11:56 编辑1 我只想问一句,普通方法发送数据与DMA发送数据
时间差多少,串口实时性应用还是差好多,
例如30个字节数据发送一次,接受一次,满足10毫秒一次,能做到吗 创隆科技 发表于 2024-5-14 01:02
我只想问一句,普通方法发送数据与DMA发送数据
时间差多少,串口实时性应用还是差好多,
例如30个字节数据 ...
当波特率为115200时, 1毫秒大约可以收发11字节,你自己算吧 tzz1983 发表于 2024-5-14 07:51
当波特率为115200时, 1毫秒大约可以收发11字节,你自己算吧
感觉我的编程思路都落伍了,为了通用都是封装一个应用的串口中断发送函数,方便后续换平台。像这些DMA都没用过 本帖最后由 lezjin 于 2024-8-3 09:08 编辑
你好,可以请教下吗,
我用8H准备重写一下串口2的代码,至今还没有用过OS,所以这两行代码没有看明白作用,另外是不是不加也可以。
32G的代码我看楼主只是判断完成字节寄存器高8位,不判断低八位是否不同?
我参考了一下在8H中判断两次读取结果是否相同,后来仔细想了一下,这两行代码连续执行,应该是相等的,是不是直接读取寄存器就可以。 lezjin 发表于 2024-8-3 09:07
你好,可以请教下吗,
我用8H准备重写一下串口2的代码,至今还没有用过OS,所以这两行代码没有看明白作用 ...
8H 好像只有一字节,没有DONEH ,
我那个代码是为了判断读低字节时高字节有没有发生变化,即避免一个16位分两次读可能产生的非元子操作错误, 至于低字节, 无所谓, 无非是本次和下次查询到 tzz1983 发表于 2024-8-3 09:17
8H 好像只有一字节,没有DONEH ,
我那个代码是为了判断读低字节时高字节有没有发生变化,即避免一个1 ...
了解了,谢谢,那8H的直接读取这个寄存器应该是可以的 原来_testbit_是个函数,这下明白了。
#defineOS_ENTER_CRITICAL() {cpu_sr=((!_testbit_(EA))?0X00:0X80);}
请教下这里用逻辑非判断,改成正逻辑是不是会速度快些。_testbit_(EA)?0X80:0X00 ; 谢谢可以请教下收到420个字节再发怎样改吗