mdk 仿真usartstm32 dr寄存器器有值

查看: 3206|回复: 9
我往串口数据寄存器USART1->DR寄存器中写数据,但是调试时查看该寄存器的值却一直是0,这是为啥啊?求大神指点
主题帖子精华
初级会员, 积分 65, 距离下一级还需 135 积分
在线时间2 小时
我的程序是定时发送数据,程序是这样的:
u8 TX_temp[3];
void TIM3_IRQHandler(void)
&&&&if(TIM3-&SR&0X0001)
&&&&&&&&temp=DS18B20_Get_Temp();
&&&&&&&&TX_temp[0]=(u8)
&&&&&&&&temp=temp&&8;
&&&&&&&&TX_temp[1]=(u8)
&&&&&&&&for(t=0;t&2;t++)
&&&&&&&&&&&&USART1-&DR=TX_temp[t];
&&&&&&&&&&&&while((USART1-&SR&0X40)==0);
&&&&TIM3-&SR&=~(1&&0);
我查看变量temp和TX_temp的值都是对的,但是USART1-&DR寄存器的值却一直都是0?
我也不知道为啥,求指点
USART1-&DR
读走了就变零了
主题帖子精华
金牌会员, 积分 1545, 距离下一级还需 1455 积分
在线时间206 小时
USART1-&DR
读走了就变零了
主题帖子精华
初级会员, 积分 100, 距离下一级还需 100 积分
在线时间0 小时
串口时钟开了吗?你看下你的电脑的串口是否有接收到数据啊?
主题帖子精华
初级会员, 积分 65, 距离下一级还需 135 积分
在线时间2 小时
回复【3楼】止天:
---------------------------------
懂了&谢谢哈
主题帖子精华
初级会员, 积分 65, 距离下一级还需 135 积分
在线时间2 小时
回复【2楼】:
---------------------------------
是2楼说的那个原因
主题帖子精华
初级会员, 积分 110, 距离下一级还需 90 积分
在线时间5 小时
我也遇到这个问题,并且程序一直停在发送等待的循环中,串口时钟是开启的
主题帖子精华
中级会员, 积分 363, 距离下一级还需 137 积分
在线时间86 小时
USART1-&DR
读走了就变零了
读走了是什么意思?存到别的寄存器里了吗?
主题帖子精华
金牌会员, 积分 2707, 距离下一级还需 293 积分
在线时间290 小时
读走了是什么意思?存到别的寄存器里了吗?
那个DR,在硬件上是两个寄存器的合体,一个只读,一个只写
坚持使用寄存器,拒绝重复造轮子。
主题帖子精华
中级会员, 积分 363, 距离下一级还需 137 积分
在线时间86 小时
那个DR,在硬件上是两个寄存器的合体,一个只读,一个只写
我也遇到这个问题,向里面写数据,DR一直是零,那在线调试时候显示的DR是哪个DR?
主题帖子精华
金牌会员, 积分 2707, 距离下一级还需 293 积分
在线时间290 小时
我也遇到这个问题,向里面写数据,DR一直是零,那在线调试时候显示的DR是哪个DR?
调试时显示的是调试器读取出来的值,你说是哪个呢?
坚持使用寄存器,拒绝重复造轮子。
Powered by请教此嵌入式系统试卷答案,多谢了。_嵌入式系统吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,926贴子:
请教此嵌入式系统试卷答案,多谢了。收藏
2016年春|嵌入式系统|本科(试卷)一、单项选择
(第1-34题每题2.5分) 1.
在MDK软件的工程设置栏中,下面哪一个选项卡中包含RL-RTX实时内核的选择:(
Target (B)
Option (C)
Device (D)
在MDK软件的仿真界面查看存储器应该使用下列哪一个调试窗口:(
Watch窗口 (B)
Memory窗口 (C)
UART窗口 (D)
外设窗口3.
上电复位后下列哪一个外设的功率控制默认是不使能:(
定时器0 (B)
GPIO模块 (D)
LPC1768微控制器的引脚在上电复位后处于什么模式:(
上拉模式 (B)
下拉模式 (C)
中继模式 (D)
开漏模式5.
LPC1768微控制器属于什么内核:(
Cortex-M0 (B)
Cortex-A (C)
Cortex-M4 (D)
Cortex-M36.
GPIO模块中要让引脚输出高电平应该向FIOSET寄存器写入什么:(
在一般的工程应用中LPC1768微控制器采用哪一个振荡器作为时钟源:(
外加时钟信号 (B)
内部RC振荡器 (C)
主振荡器 (D)
RTC振荡器8.
UnFCR寄存器的值为0x87,则FIFO的触发点是多少字节:(
LPC1768微控制器的Flash大小为:(
锁相环0倍频后输出的时钟的最高频率不超过:(
550MHz (B)
300MHz (C)
500MHz (D)
GPIO中断和哪一个外部中断共用一个中断通道:(
外部中断0 (B)
外部中断3 (C)
外部中断2 (D)
外部中断112.
设置外部中断的中断极性应该访问下列哪一个寄存器:(
EXTMODE (B)
FIODIR (C)
EXTPOLAR (D)
当引脚配置为下列哪一种功能时无法使用FIOPIN读取引脚的状态:(
GPIO功能 (B)
定时器功能 (C)
A/D功能 (D)
串口通信功能14.
串口中断中下列哪一个中断的优先级最低的:(
RLS中断 (B)
RDA中断 (C)
CTI中断 (D)
THRE中断15.
配置串口通信数据格式时应该访问下列哪一个寄存器:(
当需要往引脚上同时输出高电平和低电平时应该访问哪一个寄存器:(
FIODIR (B)
FIOCLR (C)
FIOPIN (D)
LPC1751微控制器的SRAM大小为:(
串口通信采用查询方式接收数据时应该访问下列哪一个寄存器:(
LPC1768有多少个定时器/计数器:(
前后台编程模式中,后台程序指的是:(
初始化程序 (B)
主程序 (C)
引导程序 (D)
中断服务程序21.
当使用P1.27作为捕获引脚时,捕获值存放在哪一个捕获寄存器中:(
LPC1768微控制器的P1.31引脚一共有几种功能:(
控制引脚P1.16应该访问哪一个引脚功能选择寄存器:(
PINSEL2 (B)
PINSEL1 (C)
PINSEL3 (D)
PINSEL024.
异步串行通信的字符格式中起始位是什么电平:(
低电平 (B)
高电平 (C)
高阻态 (D)
下列嵌入式操作系统中哪一个是国产的:(
RL-RTX (C)
RT-Thread (D)
WINDOWS CE26.
外部中断3对应的引脚为:(
11位数据位的异步串行通信的波特率误差最大不能超过多少:(
在MDK软件开发工程时,如果要求硬件系统掉电后下一次上电仍然能够运行程序,应该使用下列哪一种模板:(
HEX模板 (B)
Ram模板 (C)
Flash模板 (D)
Simulate模板29.
配置锁相环0的参数应该访问下列哪一个寄存器:(
PLL0CON (B)
PLL0CFG (C)
PLL0STAT (D)
PLL1STAT30.
安装完MDK软件后,下列哪一个文件夹包含了Flash编程算法:(
Boards (B)
Startup31.
外设时钟PCLK为24MHz,定时时间为100us,不使用预分频,则匹配寄存器的值为:(
串口模块中哪一个串口具备RS485通信功能:(
在RL-RTX实时内核中,内核的初始化函数是下列哪一个:(
OS_DLY_WAIT (B)
OS_SYS_INIT() (C)
OS_TSK_DELETE_SELF (D)
OS_TSK_CREATE34.
LPC1768微控制器的GPIO引脚最多有:(
60个二、多项选择
(第35-40题每题2.5分) 35.
下列嵌入式操作系统中哪些属于大型操作系统:(
VX-WORK (C)
UCOS-II (D)
WINDOWS CE36.
串口通信中当发送FIFO为空并且移位寄存器也为空时,线状态寄存器UnLSR的哪些位置位:(
定时器模块可以产生下列哪些中断 (A)
计数中断 (B)
匹配中断 (C)
捕获中断 (D)
计数溢出中断38.
采用中断方式利用定时器的匹配功能完成固定时间间隔的定时时,发生匹配时应该对定时器做下列哪些操作:(
停止定时器 (B)
复位定时器 (C)
捕获定时器值 (D)
RL-RTX实时内核中对于每个任务的编程下列哪些说法正确:(
每个任务是一个死循环 (B)
每个任务必须调用系统提供的函数 (C)
每个任务必须有中断 (D)
每个任务必须要要访问硬件寄存器40.
在工程实践中外部中断一般采用下列哪些中断触发方式:(
高电平 (B)
低电平 (C)
上升沿 (D)
上海艾盾智能科技有限公司利用国外技术先进的成熟商用板卡帮助客户快速搭建系统平台,并提供系统开发与集成服务.
有的会有的不会
这特么开卷闭卷啊,都手册上的
楼主现在有答案吗?我期末考试就是考这个,结果考了六分,哎,能给分答案吗?
登录百度帐号推荐应用STM32寄存器学习笔记篇——USART1寄存器设置(读取芯片ID)
今天折腾了一天的串口通讯,把芯片ID号读取出来,真可谓身心疲惫,唉,不说了,真心坎坷主要是一开始倍频就有问题,很DT
正题,用串口与串口助手跟超级终端通讯显示芯片ID号
主要是涉及到以下寄存器,各种位意义就不上了,可对照着看技术手册
1、使能PA口的时钟:RCC-&APB2ENR|=1&&2;
2、使能USART1的时钟:RCC-&APB2ENR|=1&&14;
(真有点奇怪,要使能两个时钟,当然其实也一点都不奇怪)
3、设置TX& RX
口的推挽输出、浮空输入模式:GPIOA-&CRH&=0xfffff00f;&&&
GPIOA-&CRH|=0x;
(因为是PA9,PA10所以用的是GPIOA_CRH寄存器)
4、软件复位串口: RCC-&APB2RSTR|=0x;&
&RCC-&APB2RSTR&=~0x;
(其实不复位也是可以的,为了保证去除干扰还是复位一下,一开始是忽略了这一配置 1=开复位,0=关复位)
5、设置串口波特率(115200):USART1-&BRR|=0x271;
波特率的计算公式:
把115200带入计算得USARTDIV=39.0625。分整数部分A&=39=0x27&&&
小数部分B=0.625 *16=1&&=0x1
由于USART1_BRR[0:3]存放的是小数点的数值,USART1_BRR[4:15]存放的是整数的数值
所以先把A左移四位,A=A&&4;&
USART1_BRR=A+B=0x271;
6、设置USART1_CR1寄存器:& USART1-&CR1|=0x200c;
& (1起始位,8数据位,无校验,使能发送、接收,禁止各种中断)
初始化完毕!!!初始化整体程序如下:
简单的数据发送如下,只是发送的是ASCII、比如说发送& 48
或者0x30& 助手上显示0
当然若助手上是十六进制显示当然是显示30.
简单的串口程序就是这样,接收部分还没有写,下次再补,举一反三嘛。
至于超级终端,还是习惯用串口助手,他们两其实都一个样对于新手来说,不过串口助手更容易操作,就不介绍了
接下来是读取自己STM32芯片的ID及FLASH的大小并处理发送到串口助手上显示,觉得ID号很神秘之前,每个芯片都有自己唯一的ID,可以用于产品验证当然还有很多其他用途。不过数据处理还是有点难度的,当然水平还比较菜。不多解释了,直接上程序。
新手上路,有错误望多指教
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2010年6月 硬件/嵌入开发大版内专家分月排行榜第二
2010年6月 硬件/嵌入开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 dr寄存器 的文章

 

随机推荐