基于STM32编译程序,串口实现Hello windows!

一、关于串口协议

串口通信指两个或两个以上的设备使用串口按位(bit)发送和接收字节。可以在使用一根线发送数据的同时用另一根线接收数据。 串口通信协议就是串口通讯时共同遵循的协议。 协议的内容是每一个bit 所代表的意义。
常用的串口通信协议 有以下几种:

1.RS-232(ANSI/EIA-232标准)

只支持 点对点, 最大距离 50英尺。最大速度为128000bit/s, 距离越远 速度越慢。 支持全双工(发送同时也可接收)。

2.RS-485(EIA-485标准)

是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。速率最大10Mbps。支持全双工(发送同时也可接收)。2线连接时 是半双工状态。

二、RS232、485电平与TTL电平的区别

1.TTL电平标准

输出 L:<0.8V H: >2.4V。
输入 L:<1.2V H: >2.0V

2.RS232标准

逻辑1的电平为-3~-15V;
逻辑0的电平为+3~+15V。

3.RS-485的电气特性

逻辑“1”以两线间的电压差为 +2~+6V 表示;
逻辑“0”以两线间的电压差为 -2~-6V 表示。
且该电平与TTL电平兼容,可方便与TTL 电路连接。

二、HAL库实现流水灯

参考博客:http://t.csdn.cn/Bi7ki

三、串口实现hello world

(一)、HAL库实现

1.相关参数设置

1.1.打开stm32mx,创建项目:
在这里插入图片描述
1.2.根据以下步骤设置相关参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
即会提醒打开keil 5。

2.代码编写

2.1.先进入main.c中:
在这里插入图片描述
2.2.将以下代码代替while并进行编译:
在这里插入图片描述

3.电路连接

GND——GND
3v3——3v3
TXD——A10
RXD——A9
红灯——B9
黄灯——A4
绿灯——C15
3.3——高电平
boot0置零

3.烧录程序

3.1.打开mcuisp
在这里插入图片描述
3.2.打开野火串口调试助手,再打开串口
在这里插入图片描述
在这里插入图片描述

即可接收到hello windows!

(二)、寄存器实现

1.创建项目

参考博客:http://t.csdn.cn/Bi7ki
注意创建hello.s文件:

2.将以下代码输入:

;RCC寄存器地址映像             
RCC_BASE            EQU    0x40021000 
RCC_CR              EQU    (RCC_BASE + 0x00) 
RCC_CFGR            EQU    (RCC_BASE + 0x04) 
RCC_CIR             EQU    (RCC_BASE + 0x08) 
RCC_APB2RSTR        EQU    (RCC_BASE + 0x0C) 
RCC_APB1RSTR        EQU    (RCC_BASE + 0x10) 
RCC_AHBENR          EQU    (RCC_BASE + 0x14) 
RCC_APB2ENR         EQU    (RCC_BASE + 0x18) 
RCC_APB1ENR         EQU    (RCC_BASE + 0x1C) 
RCC_BDCR            EQU    (RCC_BASE + 0x20) 
RCC_CSR             EQU    (RCC_BASE + 0x24) 
                              
;AFIO寄存器地址映像            
AFIO_BASE           EQU    0x40010000 
AFIO_EVCR           EQU    (AFIO_BASE + 0x00) 
AFIO_MAPR           EQU    (AFIO_BASE + 0x04) 
AFIO_EXTICR1        EQU    (AFIO_BASE + 0x08) 
AFIO_EXTICR2        EQU    (AFIO_BASE + 0x0C) 
AFIO_EXTICR3        EQU    (AFIO_BASE + 0x10) 
AFIO_EXTICR4        EQU    (AFIO_BASE + 0x14) 
                                                           
;GPIOA寄存器地址映像              
GPIOA_BASE          EQU    0x40010800 
GPIOA_CRL           EQU    (GPIOA_BASE + 0x00) 
GPIOA_CRH           EQU    (GPIOA_BASE + 0x04) 
GPIOA_IDR           EQU    (GPIOA_BASE + 0x08) 
GPIOA_ODR           EQU    (GPIOA_BASE + 0x0C) 
GPIOA_BSRR          EQU    (GPIOA_BASE + 0x10) 
GPIOA_BRR           EQU    (GPIOA_BASE + 0x14) 
GPIOA_LCKR          EQU    (GPIOA_BASE + 0x18) 
                                                       
;GPIO C口控制                   
GPIOC_BASE          EQU    0x40011000 
GPIOC_CRL           
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值