首页 > 编程知识 正文

stm32f103寄存器,stm32寄存器手册

时间:2023-05-05 15:14:03 阅读:108322 作者:1168

STM32f103

寄存器构成串行通信

主程序接收数据,上位机串口发送的数据由回车键终止,单片机连接后发回所有数据。

#include'stm32f10x_lib.h '

#include'sys.h '

//#include'ioshezhi_jb.h '

unsignedcharres;

//

串行端口接受数据的临时保存

unsignedcharenddd=0;

//

接受完成标志

无符号整数=0;

//

数据长度

unsignedcharshubiao[200];

//

数据存储表

限制长度为

200

打工族

unsignedintt;

//

通信数据操作

for

循环控制

unsignedlongi=0;

intmain () )

{

Stm32_Clock_Init (;

//

系统时钟设置

//

io_init (;

//io

设置时钟和输入/输出选项

RCC-APB2ENR|=0x4000;

//

打开

USART1

钟表;

1

RCC-APB2ENR|=0x0004;

//

打开

GPIOA

口表;

2

GPIOA-CRH=0xfffff00f;

//PA9

在、

PA10IO

归零设定

GPIOA-CRH|=0x000008b0;

//P9

推挽输出、

最大50m Hz

P10

上拉输入

RCC-APB2RSTR|=0x4000;

//

串行复位

3

RCC-APB2RSTR=0xbfff;

//

停止串行端口复位

4

//

USART1-BRR=0x1d4c;

//

主频率

72米

对于,波特率为

9600

5

USART1-BRR=0x0ea6;

//

主频率

36M

对于,波特率为

9600

//

USART1-BRR=0x0139;

//

主频率

36M

对于,波特率为

115200

//

USART1-CR1|=0x200c;

//

串行端口,发送信长

8

字节,未选中,打开发送,打开接收;

USART1-CR1|=0x340c;

//

串行端口,发送信长

9

字节、偶校验、发送开、接收开;

//(

是有效的数据吗

8

位长

6

while(1)。

{

//

shuru_init (;

//

计算入口端的值

if(0x0020==(usarT1-Sr )0x0020 ) )

//

收到1字节的数据后

7

{res=USART1-DR;

//

读取串行寄存器的数据,有临时的位置

res

8

if(RES!=0x0a ) {shubiao[len]=res; len; }

//

数据不是回车的最后的情况

//

打工族

0x0a,

存入数表

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。