STM32 之 UART1(1)
本例使用的是中斷方式,查詢方式想必很簡(jiǎn)單了,在中斷服務(wù)程序里也有體現(xiàn),需用的可以自己去查找。
本文引用地址:http://m.butianyuan.cn/article/201612/325136.htm另外注意的是:
1,添加uart的c庫(kù)文件,并且在stm32f10x_conf.h文件里聲明;
2,rcc初始化的時(shí)候不要忘記uart1的時(shí)鐘初始化;
3,nvrc初始化;
4,uart1本身初始化;
5,中斷函數(shù)里服務(wù)函數(shù)。
包含文件:
(1)Main
C語(yǔ)言:Codee#14662
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 實(shí)驗(yàn)平臺(tái) : ST 官方三合一套件
+ 硬件 : STM32F103C8T6
+ 開發(fā)平臺(tái) : IAR For ARM 5.40
+ 仿真器 : J-Link
+ 日期 : 2010-10-27
+ 頻率 :HSE = 8MHz ,主頻 = 72MHz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include "includes.h"
/*******************************************************************************
== 變量聲明 ==
*******************************************************************************/
/*******************************************************************************
== Main 函數(shù) ==
*******************************************************************************/
voidmain(void)
{
RCC_Configuration();//配置系統(tǒng)時(shí)鐘
NVIC_Configuration();//配置 NVIC 和 Vector Table
SysTick_Config();//配置SysTick的精確延時(shí)
GPIO_Configuration();
UART1_Configuration();
LED1_HIGH;LED2_HIGH;LED3_HIGH;LED4_HIGH;// 初始化讓燈全滅
//主循環(huán)
while(1)
{
if(Uart1_Rx!=Uart1_Tx)// 接受到不同的字符然后就發(fā)送出去
{
Uart1_Tx=Uart1_Rx;
Uart1_PutChar(Uart1_Tx);
}
// Uart1_PutString("douzi&douerrn",13); // 發(fā)送一個(gè)字符串并且回車換行
}
}
+ 實(shí)驗(yàn)平臺(tái) : ST 官方三合一套件
+ 硬件 : STM32F103C8T6
+ 開發(fā)平臺(tái) : IAR For ARM 5.40
+ 仿真器 : J-Link
+ 日期 : 2010-10-27
+ 頻率 :HSE = 8MHz ,主頻 = 72MHz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include "includes.h"
/*******************************************************************************
== 變量聲明 ==
*******************************************************************************/
/*******************************************************************************
== Main 函數(shù) ==
*******************************************************************************/
voidmain(void)
{
RCC_Configuration();//配置系統(tǒng)時(shí)鐘
NVIC_Configuration();//配置 NVIC 和 Vector Table
SysTick_Config();//配置SysTick的精確延時(shí)
GPIO_Configuration();
UART1_Configuration();
LED1_HIGH;LED2_HIGH;LED3_HIGH;LED4_HIGH;// 初始化讓燈全滅
//主循環(huán)
while(1)
{
if(Uart1_Rx!=Uart1_Tx)// 接受到不同的字符然后就發(fā)送出去
{
Uart1_Tx=Uart1_Rx;
Uart1_PutChar(Uart1_Tx);
}
// Uart1_PutString("douzi&douerrn",13); // 發(fā)送一個(gè)字符串并且回車換行
}
}
評(píng)論