zcl201207 发表于 2016-5-23 23:36:59

有的调试助手软件在开启的时候,会发送一些配置之类的数据的,不知道楼主说的是不是这种情况:):):):):)

alisa123 发表于 2016-5-24 09:04:30

Dylan疾风闪电 发表于 2016-5-23 10:21
首先,在串口中断中设置断点。
查看中断接收到的是什么数据?
如果是0x00,那么除了STM32编程问题外,还要 ...

接收的数据始终是0

alisa123 发表于 2016-5-24 09:18:19

Dylan疾风闪电 发表于 2016-5-23 10:21
首先,在串口中断中设置断点。
查看中断接收到的是什么数据?
如果是0x00,那么除了STM32编程问题外,还要 ...

好的,谢谢你的回复

alisa123 发表于 2016-5-24 09:19:06

leolzf0000 发表于 2016-5-23 09:26
我也遇到过类似的问题,好好研究一下手册

那你最后怎么解决的,请指教,谢谢!

alisa123 发表于 2016-5-24 09:21:07

我的配置代码如下:
void USART1_Configuration(void)
{
        USART_InitTypeDef USART_InitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
        NVIC_InitTypeDefNVIC_InitStructure;
       
        /* Enable GPIO clock */
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
        /* Enable USART clock */
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
        /* Connect PA9 to USART1_Tx */
        GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1);
        /* Connect PA10 to USART1_Rx */
        GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_1);

        /* Configure USART Tx and Rx as alternate function push-pull */
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
       
        /* Enable the USART1 gloabal Interrupt */
        NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPriority = 3;
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);
        /* USARTx configuration ----------------------------------------------------*/
        /* USARTx configured as follow:
        - BaudRate = 115200 baud
        - Word Length = 8 Bits
        - one Stop Bit
        - No parity
        - Hardware flow control disabled (RTS and CTS signals)
        - Receive and transmit enabled
        */
        USART_InitStructure.USART_BaudRate = 115200;
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;
        USART_InitStructure.USART_StopBits = USART_StopBits_1;
        /* When using Parity the word length must be configured to 9 bits */
        USART_InitStructure.USART_Parity = USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
        USART_Init(USART1, &USART_InitStructure);
       
        /* Enable USART Receive data register not empty interrupt */
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);

        /* Enable USART */
        USART_Cmd(USART1, ENABLE);
        /* Clear Transmission complete flag */
        USART_ClearFlag(USART1, USART_FLAG_TC);
}

alisa123 发表于 2016-5-24 09:22:15

mrclp 发表于 2016-5-23 09:11
Like this...
USART_ClearITPendingBit(USART1, USART_IT_TC);
USART_ITConfig(USART1, USART_IT_TC, ENAB ...

好的,我按照你的顺序试试,谢谢指点!

时光虫子 发表于 2016-5-24 21:26:21

这个需要先配置串口,然后再配置IO
页: 1 [2]
查看完整版本: 关于stm32f0的Usart的接受发送调试