社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 575|回复: 8

[求助] 我的芯片是不是坏了

[复制链接]

97

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-16 20:31:21 | 显示全部楼层 |阅读模式
为什么我发送数据 USART DR寄存器一直为零 DEBUG看的
此帖出自stm32/stm8论坛


回复

使用道具 举报

5355

TA的帖子

168

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-16 20:53:32 | 显示全部楼层
你Debug看到的并不是发送数据用DR,DR看似一个,其实有两个,你发送用的那个DR是只写的,没办法读取,而你读取的DR,是接收数据用的寄存器,如果你没有接收数据,那么它就是0.
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,虽然在群里买不到板子,但是可以学会开车;虽然学不到技术,但是可以学会开车;商家勿入!加群暗号:喵


回复

使用道具 举报

97

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-16 21:32:53 | 显示全部楼层
lcofjp 发表于 2017-1-16 20:53
你Debug看到的并不是发送数据用DR,DR看似一个,其实有两个,你发送用的那个DR是只写的,没办法读取,而你 ...

哦 明白了 ,我还想问个串口问题 我本想发两个数给上位机,开始我已经CLEAR TC
然后
for(t=4;t<6;t++)
                {
                                //while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
                            
                                USART_SendData(USART1, BUF[t]);         //向串口1发送数据
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结                       
                        }  可我只收到一个数
我在FOR前面改,加多个发送,还是只有一个数
我又在FOR前面改,加了句
USART_SendData(USART1, 'b');   
                        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
这样又收到了3个数,我很晕。。。

点评

我建议你还是按常规套路来,判断TXNE标志比较好。改完之后再调  详情 回复 发表于 2017-1-16 21:37


回复

使用道具 举报

5355

TA的帖子

168

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-16 21:37:39 | 显示全部楼层
大家都是好朋友 发表于 2017-1-16 21:32
哦 明白了 ,我还想问个串口问题 我本想发两个数给上位机,开始我已经CLEAR TC
然后
for(t=4;t

我建议你还是按常规套路来,判断TXNE标志比较好。改完之后再调
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,虽然在群里买不到板子,但是可以学会开车;虽然学不到技术,但是可以学会开车;商家勿入!加群暗号:喵


回复

使用道具 举报

97

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-16 21:41:19 | 显示全部楼层
QQ截图20170116213921.png 而且我初始化了USART  TC还是在置位
那个TXE是发送完成中断是吧。我是看教程才这么写的

点评

我建议你别看教程了,看看官网的Reference Manual的相关章节吧,哪个位在什么情况下置位或者复位,里面描述的很详细  详情 回复 发表于 2017-1-17 01:52


回复

使用道具 举报

3169

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-16 23:05:04 | 显示全部楼层
那个是正常的,发送出去的数据是读DR是读不出来的


回复

使用道具 举报

5355

TA的帖子

168

TA的资源

版主

Rank: 6Rank: 6

发表于 2017-1-17 01:52:44 | 显示全部楼层
大家都是好朋友 发表于 2017-1-16 21:41
而且我初始化了USART  TC还是在置位
那个TXE是发送完成中断是吧。我是看教程才这么写的

我建议你别看教程了,看看官网的Reference Manual的相关章节吧,哪个位在什么情况下置位或者复位,里面描述的很详细
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,虽然在群里买不到板子,但是可以学会开车;虽然学不到技术,但是可以学会开车;商家勿入!加群暗号:喵


回复

使用道具 举报

97

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-17 10:04:14 | 显示全部楼层
lcofjp 发表于 2017-1-17 01:52
我建议你别看教程了,看看官网的Reference Manual的相关章节吧,哪个位在什么情况下置位或者复位,里面描 ...

额。。


回复

使用道具 举报

97

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-17 10:04:34 | 显示全部楼层
huo_hu 发表于 2017-1-16 23:05
那个是正常的,发送出去的数据是读DR是读不出来的

额 。。我知道了


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-7-24 01:49 , Processed in 0.330222 second(s), 21 queries , Gzip On, Redis On.

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