我用的是神州三号,不知道为什么不能打印出来 程序如下: #include "stm32f10x.h" #include #define RCC_GPIO_LED RCC_APB2Periph_GPIOF #define GPIO_LED GPIOF #define DS1_PIN GPIO_Pin_6 #define DS2_PIN GPIO_Pin_7 #define DS3_PIN GPIO_Pin_8 #define DS4_PIN GPIO_Pin_9 #define LED_PIN_ALL DS1_PIN|DS2_PIN|DS3_PIN|DS4_PIN #define RCC_GPIO_KEY1 RCC_APB2Periph_GPIOA #define GPIO_KEY1_PORT GPIOA #define GPIO_KEY1 GPIO_Pin_0 #define RCC_GPIO_KEY2 RCC_APB2Periph_GPIOC #define GPIO_KEY2_PORT GPIOC #define GPIO_KEY2 GPIO_Pin_13 #define RCC_GPIO_KEY3 RCC_APB2Periph_GPIOA #define GPIO_KEY3_PORT GPIOA #define GPIO_KEY3 GPIO_Pin_8 #define RCC_GPIO_KEY4 RCC_APB2Periph_GPIOD #define GPIO_KEY4_PORT GPIOD #define GPIO_KEY4 GPIO_Pin_3 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; void USART_COM_Config(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 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_Mode=USART_Mode_Tx|USART_Mode_Rx; USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; USART_Init(USART1,&USART_InitStructure); } void GPIO_KEY_Config(void) { RCC_APB2PeriphClockCmd(RCC_GPIO_KEY1,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_KEY1; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIO_KEY1_PORT,&GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_GPIO_KEY2,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_KEY2; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIO_KEY2_PORT,&GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_GPIO_KEY3,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_KEY3; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIO_KEY3_PORT,&GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_GPIO_KEY4,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_KEY4; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIO_KEY4_PORT,&GPIO_InitStructure); } void GPIO_LED_Config(void) { RCC_APB2PeriphClockCmd(RCC_GPIO_LED,ENABLE); GPIO_InitStructure.GPIO_Pin=LED_PIN_ALL; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIO_LED,&GPIO_InitStructure); GPIO_SetBits(GPIO_LED,LED_PIN_ALL); } u8 ReadKeyDown(void) { if(!GPIO_ReadInputDataBit(GPIO_KEY1_PORT,GPIO_KEY1)) {return 1; } if(!GPIO_ReadInputDataBit(GPIO_KEY2_PORT,GPIO_KEY2)) {return 2; } if(!GPIO_ReadInputDataBit(GPIO_KEY3_PORT,GPIO_KEY3)) {return 3; } if(!GPIO_ReadInputDataBit(GPIO_KEY4_PORT,GPIO_KEY4)) {return 4; } else return 0; } void Delay(vu32 nCount) { for(;nCount!=0;nCount--); } void Turn_On_1(void) { GPIO_ResetBits(GPIO_LED,DS1_PIN); } void Turn_On_2(void) { GPIO_ResetBits(GPIO_LED,DS2_PIN); } void Turn_On_3(void) { GPIO_ResetBits(GPIO_LED,DS3_PIN); } void Turn_On_4(void) { GPIO_ResetBits(GPIO_LED,DS4_PIN); } void Turn_On_ALL(void) { GPIO_ResetBits(GPIO_LED,LED_PIN_ALL); Delay(0x2fffff); GPIO_SetBits(GPIO_LED,LED_PIN_ALL); Delay(0x2fffff); } void LED_Turn_On(u8 NUM) { switch(NUM) { case 1: Turn_On_1();break; case 2: Turn_On_2();break; case 3: Turn_On_3();break; case 4: Turn_On_4();break; default : Turn_On_ALL(); } } int main(void) { u8 KEYNUM=0; GPIO_LED_Config(); GPIO_KEY_Config(); USART_COM_Config(); GPIO_SetBits(GPIO_LED,LED_PIN_ALL); Delay(0x200000); GPIO_ResetBits(GPIO_LED,LED_PIN_ALL); Delay(0x200000); while(1) { KEYNUM=ReadKeyDown(); LED_Turn_On(KEYNUM); printf("\n\r神舟III号 串口1发送实验程序\n"); } } |
RE:为什么串口不能打
RE:为什么串口不能打