OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6452|回复: 3

请教STM32串口设置静默模式不能用上位机唤醒问题

[复制链接]

5

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1136
金钱
1136
注册时间
2013-7-23
在线时间
159 小时
发表于 2015-9-10 16:07:53 | 显示全部楼层 |阅读模式
5金钱
使用原子哥的串口程序,闲来无事,打算试一下把串口设置为静默模式,用上位机来唤醒,但是发现设置之后不能唤醒。请教有经验的大侠指点一二。静默模式设置如下:
    USART_WakeUpConfig(USART1,USART_WakeUp_AddressMark);// 地址标记唤醒
    USART_SetAddress(USART1, 0x01);                                          //设置地址  从机1
    USART_ReceiverWakeUpCmd(USART1,ENABLE);                      //使能接收唤醒
发送数据,上位机窗口不能返回数据。如果不用静默模式发送数据后是可以返回的,如下图所示:



STM32串口.zip

4.71 MB, 下载次数: 458

最佳答案

查看完整内容[请看2#楼]

今天有空,把最后的问题解决掉。这个是程序没有设置正确,一个是在从机这边数据位没有设置对,应该设置成: USART_InitStructure.USART_WordLength = USART_WordLength_9b;  再一个就是进入中断后的接收变量没有设置对,定义接收的变量为u8,应该定义为u16,接收到的数据只有8位,自然检测不到地址位。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1136
金钱
1136
注册时间
2013-7-23
在线时间
159 小时
 楼主| 发表于 2015-9-10 16:07:54 | 显示全部楼层
今天有空,把最后的问题解决掉。这个是程序没有设置正确,一个是在从机这边数据位没有设置对,应该设置成:
USART_InitStructure.USART_WordLength = USART_WordLength_9b; 
再一个就是进入中断后的接收变量没有设置对,定义接收的变量为u8,应该定义为u16,接收到的数据只有8位,自然检测不到地址位。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-9-10 22:50:22 | 显示全部楼层
帮顶.....
回复

使用道具 举报

5

主题

31

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1136
金钱
1136
注册时间
2013-7-23
在线时间
159 小时
 楼主| 发表于 2015-9-11 08:36:38 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
感谢原子哥的援助。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 13:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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