| 
 
| 最近遇到奇怪的问题,调试STM32F405时,配置的USART1一直用不了,调试时代码左侧灰色条都没有,应该是运行都不会运行,找了几天也找不出原因。。。请教高人 部分代码如下:
 void RCC_cfg()
 {
 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC, ENABLE);
 RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3, ENABLE);
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_USART1, ENABLE);
 }
 void GPIO_cfg()
 {
 GPIO_InitTypeDef GPIO_InitStructure;
 
 GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);//ÅäÖóÉUSART1_TX
 GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //ÅäÖóÉUSART1_RX
 
 GPIO_InitStructure.GPIO_Pin    = GPIO_Pin_9 | GPIO_Pin_10;
 GPIO_InitStructure.GPIO_Mode   = GPIO_Mode_AF;
 GPIO_InitStructure.GPIO_OType  = GPIO_OType_PP;
 GPIO_InitStructure.GPIO_Speed  = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_PuPd   = GPIO_PuPd_UP;
 GPIO_Init(GPIOA, &GPIO_InitStructure);
 }
 void USART_cfg()
 {
 USART_InitTypeDef  USART_InitStructure;
 USART_StructInit(&USART_InitStructure);
 
 USART_InitStructure.USART_BaudRate = 38400;
 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_Rx | USART_Mode_Tx;
 USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
 USART_Init(USART1, &USART_InitStructure);
 USART_ClearFlag(USART1, USART_FLAG_TC);
 USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
 USART_Cmd(USART1, ENABLE);
 
 }
 void NVIC_cfg()
 {
 NVIC_InitTypeDef NVIC_InitStructure;
 NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 NVIC_Init(&NVIC_InitStructure);
 }
 int main(void)
 {
 RCC_cfg();
 USART_cfg();
 GPIO_cfg();
 //        SPI_cfg();
 //        ADC_cfg();
 //  DMA_cfg();
 NVIC_cfg();
 
 //  ADC_SoftwareStartConv(ADC1);                // ¿ªÆô ADC_DMA ת»»
 while(1);
 }
 | 
 |