标题:
stm32中断 USART3 重映射源码
[打印本页]
作者:
李寻寻寻
时间:
2018-3-6 16:29
标题:
stm32中断 USART3 重映射源码
单片机源程序如下:
#include "stm32f10x_lib.h"
#include "stm32f10x_usart.h"
#include "stdio.h"
ErrorStatus HSEStartUpStatus;
void USART3_Config(void); //串口配置
void USART3_Putc(char c); //操作串口函数
void USART3_Config();
void NVIC_Configuration(void);
int main(void)
{
USART3_Config();
NVIC_Configuration();
// while(1)
// {
// a1[0]=*(u8*)(0x1FFFF7E8);
// a1[1]=*(u8*)(0x1FFFF7E9);
// a1[2]=*(u8*)(0x1FFFF7EA);
// a1[3]=*(u8*)(0x1FFFF7EB);
// a1[4]=*(u8*)(0x1FFFF7EC);
// a1[5]=*(u8*)(0x1FFFF7ED);
// a1[6]=*(u8*)(0x1FFFF7EE);
// a1[7]=*(u8*)(0x1FFFF7EF);
// a1[8]=*(u8*)(0x1FFFF7F0);
// a1[9]=*(u8*)(0x1FFFF7F1);
// a1[10]=*(u8*)(0x1FFFF7F2);
// a1[11]=*(u8*)(0x1FFFF7F3);
// USART2_Putc(0);
// USART2_Putc(0);
// USART3_Putc(a0);
// USART3_Putc(a1);
// USART3_Putc(a2);
// USART3_Putc(a3);
// USART3_Putc(a4);
// USART3_Putc(a5);
// USART3_Putc(a6);
// USART3_Putc(a7);
// USART3_Putc(a8);
// USART3_Putc(a9);
// USART3_Putc(a10);
// USART3_Putc(a11);
// }
}
void USART3_Config()
{
USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
//TX
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
//RX
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOC,&GPIO_InitStructure);
//usart1 mode configuration
USART_InitStructure.USART_BaudRate=115200;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_Init(USART3,&USART_InitStructure);//
USART_Cmd(USART3,ENABLE);//
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//???
USART_ITConfig(USART3,USART_IT_TXE,ENABLE);//??????//
}
void USART3_Putc(char c)//操作串口函数
{
USART_SendData(USART3,c);
while(USART_GetFlagStatus(USART3,USART_FLAG_TXE)==RESET);
}
void NVIC_Configuration(void)
{ /* ??????? */
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
/*??????:EXTI?0??,????????PA0?*/
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQChannel;
/* 0???????,0????? */
//NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
/* ????????? */
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
/* ??NVIC_Init????????? */
NVIC_Init(&NVIC_InitStructure);
}
复制代码
所有资料51hei提供下载:
9_中断 USART3 重映射.zip
(408.85 KB, 下载次数: 34)
2018-3-6 16:29 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1