如何微信支付购物网站,百度站长平台网站验证,广州天河区租房哪里便宜,视频直播免费网站建设应某些网友需求#xff0c;说网上根本找不到基于Rt-Thread DMA串口发送代码#xff0c;只有官方开源的串口DMA接收。
其实这些东西并不难#xff0c;只要你细心去看哪些闲置的驱动文件且都是包装好的#xff0c;通过关键字去查询或点开源文件查看#xff0c;花不了几分钟…
应某些网友需求说网上根本找不到基于Rt-Thread DMA串口发送代码只有官方开源的串口DMA接收。
其实这些东西并不难只要你细心去看哪些闲置的驱动文件且都是包装好的通过关键字去查询或点开源文件查看花不了几分钟都很简单的。
一、更改驱动文件
在官方提供的驱动函数中都赋予了static关键字限制或一些宏定义的限制如果你需要用到这些限制函数你只需要注释static关键字或打开宏定义即可。
二、打开宏定义
想要使用串口的DMA发送需要在board.h打开相关宏定义 在串口驱动文件drv_usart.c中可以发现关于dma操作的函数只有两个所以只需要删除两句函数开头的static关键字
三、串口配置传输 config.baud_rate BAUD_RATE_115200; //修改波特率为 115200config.data_bits DATA_BITS_8; //数据位 8config.stop_bits STOP_BITS_1; //停止位 1config.bufsz 128; //修改缓冲区 buff size 为 128config.parity PARITY_NONE; //无奇偶校验位rt_device_control(serial, RT_DEVICE_CTRL_CONFIG, config); /*控制串口设备。通过控制接口传入命令控制字与控制参数 */rt_device_open(serial, RT_DEVICE_FLAG_DMA_RX); /* 以 DMA 接收及轮询发送方式打开串口设备 */rt_device_set_rx_indicate(serial, uart_input); /* 设置接收回调函数 */stm32_dma_config(serial,RT_DEVICE_FLAG_DMA_TX);stm32_dma_transmit(serial, 123, 4,RT_SERIAL_DMA_TX);