单片机源程序如下:
- #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)
|