| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #include "stm32f10x.h"
- #include <stdio.h>
- #include <stdarg.h>
- void Usart1_Init(void)
- {
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
-
- GPIO_InitTypeDef GPIO_InitStructure;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
-
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
-
- USART_InitTypeDef USART_InitStruture;
- USART_InitStruture.USART_BaudRate = 115200;
- USART_InitStruture.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
- USART_InitStruture.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
- USART_InitStruture.USART_Parity = USART_Parity_No;
- USART_InitStruture.USART_StopBits = USART_StopBits_1;
- USART_InitStruture.USART_WordLength = USART_WordLength_8b;
- USART_Init(USART1, &USART_InitStruture);
-
- USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
-
- NVIC_InitTypeDef NVIC_InitStructure;
- NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
- NVIC_Init(&NVIC_InitStructure);
-
- USART_Cmd(USART1, ENABLE);
-
- }
- // 串口打印日志
- //void USART1_SendByte(uint8_t Byte)
- //{
- // USART_SendData(USART1, Byte);
- // while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
- //}
- //// 打印字节
- //void USART1_SendArray(uint8_t * arr, uint16_t len)
- //{
- // uint16_t i;
- // for(i = 0; i < len; i ++)
- // {
- // USART1_SendByte(arr[i]);
- // }
- //}
- //// 打印字符串
- //void USART1_SendString(char *String)
- //{
- // uint16_t i;
- // for(i = 0; String[i] != '\0'; i ++)
- // {
- // USART1_SendByte(String[i]);
- // }
- //}
- //// 打印的缓存
- //char USART1_String[512];
- //void USART1_Printf(char *format, ...)
- //{
- // va_list arg;
- // va_start(arg, format);
- // vsprintf(USART1_String, format, arg);
- // va_end(arg);
- // USART1_SendString(USART1_String);
- //}
|