You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "uart0.h"
void uart0_init(void) { /**
* @brief ���ô���0�IJ�����Ϊ115200 * ʱ��Ϊϵͳʱ�� Fpclk Ϊϵͳʱ��Ƶ�� * */ GPIO_InitSettingType InitSet; InitSet.Dir = GPIO_Direction_Output; InitSet.DS = GPIO_DS_Output_Strong; InitSet.Func = GPIO_Reuse_Func1; InitSet.ODE = GPIO_ODE_Output_Disable; InitSet.PDE = GPIO_PDE_Input_Disable; InitSet.PUE = GPIO_PUE_Input_Disable; InitSet.Signal = GPIO_Pin_Signal_Digital; GPIO_Init(UART0_TXD0_PIN, &InitSet);
InitSet.Dir = GPIO_Direction_Input; InitSet.DS = GPIO_DS_Output_Strong; InitSet.Func = GPIO_Reuse_Func1; InitSet.ODE = GPIO_ODE_Output_Disable; InitSet.PDE = GPIO_PDE_Input_Disable; InitSet.PUE = GPIO_PUE_Input_Disable; InitSet.Signal = GPIO_Pin_Signal_Digital; GPIO_Init(UART0_RXD0_PIN, &InitSet);
UART_InitStruType UART_InitStruct;
UART_InitStruct.UART_BaudRate = 115200; //������
UART_InitStruct.UART_ClockSet = UART_Clock_1; //ʱ��ѡ��Ƶ
UART_InitStruct.UART_RxMode = UART_DataMode_8; // 8����λ����żУ��λ
//�����Զ˿����ݺʹ���������ͬ
UART_InitStruct.UART_RxPolar = UART_Polar_Normal; UART_InitStruct.UART_StopBits = UART_StopBits_1; //һ��ֹͣλ
UART_InitStruct.UART_TxMode = UART_DataMode_8; // 8����λ����żУ��λ
UART_InitStruct.UART_TxPolar = UART_Polar_Normal; //��usart����
UART_Init(UART0, &UART_InitStruct); UART_ITConfig(UART0, UART_IT_RB, Enable); /* UART0�����ж�ʹ�� */ /* UART0���ͻ��������ж�ģʽ: ȫ���ж� */ UART_TBIMConfig(UART0, UART_TBIM_Byte); NVIC_Init(NVIC_UART0_IRQn, NVIC_Priority_1, Enable); //ʹ�ܴ���0�ж�
UART0_TxEnable(); UART0_RxEnable(); }
void UART0_IRQHandler(void) { /**
* @brief �������Դ��ڵ����ݲ������� * */ uint8_t uart0_data; uart0_data = UART_RecByte(UART0); UART_SendByte(UART0, uart0_data); }
void Uart0SendBuff(uint8_t *buff) { while (*buff != '\0') { UART_SendByte(UART0, *buff); while (UART_GetFlagStatus(UART0, UART_FLAG_TC) == RESET) ; UART_ClearITPendingBit(UART0, UART_FLAG_TC); buff++; } }
|