木子剑
生命不熄,学习不止!

留个记号,方便自己查看,也方便他人参考!!STM32F103用的IAR编译器

网上的教程搞得太复杂了,我的可能更简单!!

main.h内文件:

#include <stm32f10x.h> //使用外部HSE.8M,经过PLL倍频到72M
#include <misc.h> //嵌套中断控器,SYSTICK定时器
#include <stm32f10x_it.h> //管理中断服务函数

#include <stm32f10x_conf.h>

void GPIOx_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);       //0 打开GPIOA的外设时钟
GPIO_InitTypeDef GPIO_InitStructure1 = {    GPIO_Pin_2|GPIO_Pin_9, //1 参数PIN2 PA2是UART2的TX引脚, PA9是UART1的TX引脚.
                    GPIO_Speed_10MHz,       //2 参数2M速度
                    GPIO_Mode_AF_PP };      //3 参数复用推挽输出用Out_PP不行的 要用AF_PP复用模式
GPIO_Init(GPIOA, &GPIO_InitStructure1);                                               //4 将3个参数初始化到GPIOA
}

void USARTx_Config(void)
{  
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);// 打开串口2的外设时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);// 打开串口1的外设时钟
                                                                        //6个参数设置
USART_InitTypeDef USART_InitStructure = {       115200, //串口2波特率设置
                      USART_WordLength_8b,         //数据长8BIT
                      USART_StopBits_2,                //停止位是2BIT
                      USART_Parity_No,                 //无校验位
                      USART_Mode_Tx,                 //TX发模式
                      USART_HardwareFlowControl_None };//硬件流控制NONE
USART_Init(USART2, &USART_InitStructure);     //将6个参数初始化到串口2
USART_Cmd(USART2, ENABLE);                        //配好后打开串口2外设,
USART_ITConfig(USART2, USART_IT_TC,DISABLE); //关掉UART2的中断,RA2为TX引脚。

USART_Init(USART1, &USART_InitStructure);     //将6个参数初始化到串口1
USART_Cmd(USART1, ENABLE);                        //配好后打开串口1外设,
USART_ITConfig(USART1, USART_IT_TC,DISABLE); //关掉UART1的中断,RA9为TX引脚。
}

 

void Delay(__IO uint32_t nCount)//粗略的延时功能
{
for(; nCount != 0; nCount--);
}

 

main.c内文件测试

#include "main.h"
#include <stdio.h>
#include <string.h>

void
main(void)
{

USARTx_Config(); //初始化USARTx
GPIOx_Init(); //初始化GPIOX 

while (1)
{
USART_SendData(USART2, 0xAA);//RA2输出
Delay(60000);//精略延时。
USART_SendData(USART1, 0x55);//RA9输出
__NOP();
}
}

 

posted on 2019-08-07 21:31  木子剑  阅读(1489)  评论(0编辑  收藏  举报