标题:
STM32的5个串口初始化的使用程序
[打印本页]
作者:
DENGJIAQI
时间:
2021-6-29 15:51
标题:
STM32的5个串口初始化的使用程序
一个复杂的项目往往会用到多个串口
一般的串口1、2、3都有例程可用
这里主要分享串口4、5的调用
单片机源程序如下:
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "usart2.h"
#include "usart3.h"
#include "UART4.h"
#include "UART5.h"
void u1_Tx(void)
{
USART1->DR=0x44; delay_ms(1);
USART1->DR=0x53; delay_ms(1);
USART1->DR=0x54; delay_ms(1);
USART1->DR=0x31; delay_ms(1);
USART1->DR=0x0d; delay_ms(1);
USART1->DR=0x0a; delay_ms(1);
}
void u2_Tx(void)
{
USART2->DR=0x44; delay_ms(1);
USART2->DR=0x53; delay_ms(1);
USART2->DR=0x54; delay_ms(1);
USART2->DR=0x32; delay_ms(1);
USART2->DR=0x0d; delay_ms(1);
USART2->DR=0x0a; delay_ms(1);
}
void u3_Tx(void)
{
USART3->DR=0x44; delay_ms(1);
USART3->DR=0x53; delay_ms(1);
USART3->DR=0x54; delay_ms(1);
USART3->DR=0x33; delay_ms(1);
USART3->DR=0x0d; delay_ms(1);
USART3->DR=0x0a; delay_ms(1);
}
void u4_Tx(void)
{
UART4->DR=0x44; delay_ms(1);
UART4->DR=0x53; delay_ms(1);
UART4->DR=0x54; delay_ms(1);
UART4->DR=0x34; delay_ms(1);
UART4->DR=0x0d; delay_ms(1);
UART4->DR=0x0a; delay_ms(1);
}
void u5_Tx(void)
{
UART5->DR=0x44; delay_ms(1);
UART5->DR=0x53; delay_ms(1);
UART5->DR=0x54; delay_ms(1);
UART5->DR=0x35; delay_ms(1);
UART5->DR=0x0d; delay_ms(1);
UART5->DR=0x0a; delay_ms(1);
}
int main(void)
{
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
usart2_Init(36,9600); //串口2 初始化为 波特率:9600
usart3_init(36,9600); //串口3 初始化为 初始化为9600
uart4_init(36,9600);
uart5_init(36,9600);
// PD2 串口5-RX 与LED1 冲突
// LED_Init();
while(1)
{
delay_ms(3000);
u1_Tx();
u2_Tx();
u3_Tx();
u4_Tx();
u5_Tx();
}
}
复制代码
所有程序51hei提供下载:
串口1 串口2 串口3 串口4 串口5 初始化程序(寄存器版).7z
(472.38 KB, 下载次数: 12)
2021-6-29 15:59 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
herohuang
时间:
2021-7-6 21:11
回个顶下,如果有函数版的就好了
作者:
herohuang
时间:
2021-7-6 21:12
好例子啊,谢谢楼主,有个好例子
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1