|
发表于 2023-2-3 10:17:22
|
显示全部楼层
/*faj.c*/
#include "stm32f10x.h"
uint8_t uu;
void faj_init(void)
{ GPIO_InitTypeDef p;USART_InitTypeDef l;NVIC_InitTypeDef i;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
p.GPIO_Mode=GPIO_Mode_Out_PP;
p.GPIO_Pin=GPIO_Pin_0;
p.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&p);
p.GPIO_Mode=GPIO_Mode_AF_PP;
p.GPIO_Pin=GPIO_Pin_9;
p.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&p);
p.GPIO_Mode=GPIO_Mode_IN_FLOATING;
p.GPIO_Pin=GPIO_Pin_10;
p.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&p);
l.USART_BaudRate=9600;
l.USART_HardwareFlowControl= USART_HardwareFlowControl_None;
l.USART_Mode=USART_Mode_Tx | USART_Mode_Rx ;
l.USART_Parity=USART_Parity_No;
l.USART_StopBits=USART_StopBits_1;
l.USART_WordLength=USART_WordLength_8b;
USART_Init(USART1,&l);
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
i.NVIC_IRQChannel=USART1_IRQn;
i.NVIC_IRQChannelCmd=ENABLE;
i.NVIC_IRQChannelPreemptionPriority=1;
i.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&i);
USART_Cmd(USART1,ENABLE);
}
void T(uint8_t k)
{
USART_SendData(USART1,k);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
}
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
{uu=USART_ReceiveData(USART1);
T(uu);
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}
} |
|