你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32Cube Uart_DMA测试工程

[复制链接]
appllo 发布时间:2015-9-17 16:00
本帖最后由 appllo 于 2015-9-17 16:31 编辑

1、打开软件,新建工程,选择芯片信号,这里选择file:///C:/Temp/Wiz/4dbfb2a5-f153-4155-944a-4d40a5495286_4_files/6020dc03-9bd2-451a-bddf-4682424732d1.png
2、USART1使能选择“Asynchronous”模式:
3、配置“RCC”,High Speed Clock (HSE) 选择外部晶振
4、配置“SYS",
5、“Clock Configuration”选项,晶振填8M,选择“HSE”,HCLK填写180MHz,如下图所示
file:///C:/Temp/Wiz/4dbfb2a5-f153-4155-944a-4d40a5495286_4_files/f3536241-50ca-4292-969e-6581d61397f3.png
6、“Configuration”,点击“file:///C:/Temp/Wiz/4dbfb2a5-f153-4155-944a-4d40a5495286_4_files/bd3e9bbe-9454-4568-a373-f9028750fcdb.png”,对usart1进行配置
file:///C:/Temp/Wiz/4dbfb2a5-f153-4155-944a-4d40a5495286_4_files/92183fd7-2963-4e26-9cf7-7ad72964c381.png
中断一定要都选,否则,程序运行起来,只能运行一次。
7、选项“Project”,选择“Project Setting”,选择习惯使用的编译软件;
8、选项“Project”,选择“Generate Code”,生成工程,用MDK打开;
9、在主函数上使用语句:HAL_UART_Transmit_DMA(&huart1,sendbuf,sizeof(sendbuf));就能通过DMA发送串口数据了。
2.png
3.png
4.png
5.png
6.png
7.png
收藏 2 评论20 发布时间:2015-9-17 16:00

举报

20个回答
appllo 回答时间:2015-9-21 09:23:13
hithfy 发表于 2015-9-20 21:37
可以不用选UART的中断吧,直接在设置DMA的MODE中设置为CIRCULAR,只要不出主函数都会循环加载发送。 ...

不会的,有个中断标志位得清楚,最简单的方法就是使能UART中断。。你可以试试,也可以手动清除。
McDong 回答时间:2018-8-3 16:13:33
hithfy 发表于 2015-9-21 18:35
但是我就是没有设置串口中断,他还是能正常发送啊?!

不打开串口中断只能发送一次,好像是,DMA串口发送和接收,其实还是会进入串口本身的中断,必须清楚中断标志位,不然串口就一直在busy状态
hithfy 回答时间:2015-9-21 18:35:41
appllo 发表于 2015-9-21 09:23
不会的,有个中断标志位得清楚,最简单的方法就是使能UART中断。。你可以试试,也可以手动清除。 ...

但是我就是没有设置串口中断,他还是能正常发送啊?!
wyxy163@126.com 回答时间:2015-9-17 17:47:23
提示: 作者被禁止或删除 内容自动屏蔽
你好我好大家好! 回答时间:2015-9-17 18:36:40
谢谢分享   
Paderboy 回答时间:2015-9-17 19:19:02
多谢分享。。。
netlhx 回答时间:2015-9-18 08:36:32
感谢分享!
shanji 回答时间:2015-9-18 09:24:24
这还是挺方便的
appllo 回答时间:2015-9-18 16:30:17
在设置过程中最重要的就是两个中断都得选上,不然没法使用
hithfy 回答时间:2015-9-20 21:37:08
可以不用选UART的中断吧,直接在设置DMA的MODE中设置为CIRCULAR,只要不出主函数都会循环加载发送。
anger0925 回答时间:2015-9-21 20:50:39
谢谢分享              
appllo 回答时间:2015-9-22 19:11:48
hithfy 发表于 2015-9-21 18:35
但是我就是没有设置串口中断,他还是能正常发送啊?!

你是用dma发送的吗?
112207301219 回答时间:2015-9-22 20:28:08
不错不错
hithfy 回答时间:2015-9-22 21:10:45
appllo 发表于 2015-9-22 19:11
你是用dma发送的吗?

对啊,调用的HAL_UART_Transmit_DMA,并且我在在线调试时主程序停了,它在继续发送(应该是不停在传送吧?!)。。。
appllo 回答时间:2015-9-24 14:25:55
我测试的时候,貌似不行,对了你评估了F7没,那个sd卡,用cube好像用不起来,真是日dog了。。
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版