注册 登录
查看: 332|回复: 3

DMA读取UART接收到的数据

[复制链接]
发表于 2015-1-8 20:41:56 | 显示全部楼层 |阅读模式
有坛友用过DMA读取UART接收的数据?给个程序做下参考
回复

使用道具 举报

发表于 2015-1-8 20:42:51 | 显示全部楼层
【转】KL26通过UART的DMA方式发送数据包(Send data package through UART with DM... - 智能车资料区 - 山外论坛 http://vcan123.com/forum.php?mod=viewthread&tid=6908&ctid=9

参考这帖子,自己实现吧。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-8 20:46:43 | 显示全部楼层
山外メ雲ジ 发表于 2015-1-8 20:42
【转】KL26通过UART的DMA方式发送数据包(Send data package through UART with DM... - 智能车资料区 - 山 ...

看过这个帖子,然后自己配置了寄存器,但是没有成功,还发现了库里的一点小bug
在uart_init函数里
  1.     //设置 UART 数据格式、校验方式和停止位位数。通过设置 UART 模块控制寄存器 C1 实现;
  2.     UART_C1_REG(UARTN[uratn]) |= (0
  3.                                   //| UART_C2_M_MASK                    //9 位或 8 位模式选择 : 0 为 8位 ,1 为 9位(注释了表示0,即8位) (如果是9位,位8在UARTx_C3里)
  4.                                   //| UART_C2_PE_MASK                   //奇偶校验使能(注释了表示禁用)
  5.                                   //| UART_C2_PT_MASK                   //校验位类型 : 0 为 偶校验 ,1 为 奇校验
  6.                                  );
改正后
  1.     UART_C1_REG(UARTN[uratn]) |= (0
  2.                                   //| UART_C1_M_MASK                    //9 位或 8 位模式选择 : 0 为 8位 ,1 为 9位(注释了表示0,即8位) (如果是9位,位8在UARTx_C3里)
  3.                                   //| UART_C1_PE_MASK                   //奇偶校验使能(注释了表示禁用)
  4.                                   //| UART_C1_PT_MASK                   //校验位类型 : 0 为 偶校验 ,1 为 奇校验
  5.                                  );



回复 支持 反对

使用道具 举报

发表于 2015-1-8 20:48:53 | 显示全部楼层
狂野的庄稼汉 发表于 2015-1-8 20:46
看过这个帖子,然后自己配置了寄存器,但是没有成功,还发现了库里的一点小bug
在uart_init函数里
改正 ...

嗯,是复制有误。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部