使用直接内存存取(DMA)方式接收报文时,必须先向DMA控制器指定需要接收的字节。当DMA控制器接收到指定字节后,产生DMA传输中断。但是在实际应用时,串口接收报文的字节往往是不固定的。针对DMA必须接收固定长度的数据才产生传输中断的不足,设计了外部中断与定时器相结合的方法来解决这一问题。该方法兼顾了DMA传输不需要CPU干预的优点,又弥补了其不能传输不定长数据的缺陷。外部中断由一个与串口RXD引脚相连接的外部引脚产生。该中断产生的EVENT事件与定时器的输入事件相关联。设置定时器为Retrigger模式,接收到EVENT事件后清零定时器的累计时间;而当定时器一定时间内接收不到EVENT事件后就会超时产生中断,在超时中断服务程序中进行报文处理。由于使用了定时器超时中断进行报文处理,实现了不定长报文的接收和处理,满足了串口通常传输不定长报文的需求串口通信设计-电动液压倒角机气动倒角机全自动张家港倒角机折弯机。 本文有公司网站全自动倒角机采集转载中国知网整理,http://www.daojiaoj.com 产生外部中断(interrupt)INT14;③配置外部引脚为下降沿模式,即下降沿产生外部引脚中断,当产生第一个下降沿时,启用0号定时器(timercounter0,TC0);④设置外部中断产生EVENT事件,并将此事件与定时器TC0相关联;⑤设置TC0的输入事件,与外部引脚产生的事件相关联,并把TC0设置为Retrigger模式;⑥设置定时器超时时间,本文设为20s,定时器超时后关闭,然后进行报文处理,并重新使能DMA接收,以等待下一帧报文。方案设计原理如图1所示。图1方案设计原理图串口DMA接收设计使用DMA进行数据传输时,需要对DMA控制器进行配置。首先,选择串口DMA接收通道。本文所述的接收通道为6。其次,配置DMA对应通道的源地址。本文所述的是串口接收数据的寄存器地址。最后,配置DMA通道的目的地址,即存储串口数据的缓冲区数组首地址,并设置目的地址为自增模式。1.3外部中断设计设置一个GPIO引脚(PC14引脚)为外部中断模式,并把此引脚与串口的接收引脚RXD相连。配置外部引脚为下降沿模式,即下降沿产生外部中断。当产生第一个下降沿时,使能定时器TC0。当产生外部中断时,同时配置产生EVENT事件。此事件与定时器TC0的输入事件相关联。1.4定时器设计定时器TC0设置为Retrigger模式,即接收到EVENT事件后,把定时器的累计时间清零。因为串口报文是以低电平作为起始位,所以在串口发送数据时,一定会产生下降沿,使定时器TC0不会因溢出而产生定时中断。当串口没有数据报串口通信设计-电动液压倒角机气动倒角机全自动张家港倒角机折弯机 本文有公司网站全自动倒角机采集转载中国知网整理,http://www.daojiaoj.com
- [2019-08-02]微电网优化调度-电动折弯机数控
- [2019-08-02]电子负载的性能研究-电动折弯机
- [2019-07-26]端子变形问题分析-数控滚圆机滚
- [2019-07-26]处理与解译的研究-数控倒角机液
- [2019-07-22]孔道结构演化探究-数控滚圆机滚
- [2019-07-22]船舶定线制探究-数控切割机电动
- [2019-07-16]阵列天线中的应用-数控切割机液
- [2019-07-16]印刷偶极子的设计-电动折弯机液
- [2019-07-11]组件专用芯片架构-数控切管机电
- [2019-07-11]波对消技术研究-数控滚圆机切管