STM32L052C8芯片串口接收问题

2019-08-13 20:54发布

调试了2天,串口接收怎么都调不通,头大,求大神帮忙。还有顺便问一下这个芯片的系统时钟怎么看,不知道怎么跳定时器的分频那些。代码贴到下面
void Usart_Camera_Init(void)  
{   
  GPIO_InitTypeDef  GPIO_InitStruct;  

  /*##-1- Enable peripherals and GPIO Clocks #################################*/  
  /* Enable GPIO TX/RX clock */  
  __HAL_RCC_GPIOA_CLK_ENABLE();
  /* Enable USART1 clock */  
  __HAL_RCC_USART1_CLK_ENABLE();   

  /*##-2- Configure peripheral GPIO ##########################################*/   
  /* UART TX GPIO pin configuration  */  
  GPIO_InitStruct.Pin       = GPIO_PIN_9;  
  GPIO_InitStruct.Mode      = GPIO_MODE_AF_PP;  
  GPIO_InitStruct.Pull      = GPIO_PULLUP;  
  GPIO_InitStruct.Speed     = GPIO_SPEED_FAST;  
  GPIO_InitStruct.Alternate = GPIO_AF4_USART1;  

   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);  

  /* UART RX GPIO pin configuration  */  
   GPIO_InitStruct.Pin = GPIO_PIN_10;  
   GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
         GPIO_InitStruct.Pull = GPIO_PULLUP ;
         GPIO_InitStruct.Alternate = GPIO_AF4_USART1;
         HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

                HAL_USART_DeInit(&USART1_HandleStructure);
          USART1_HandleStructure.Instance = USART1;               
          USART1_HandleStructure.Init.BaudRate = 115200;                //2¨ìØÂê
          USART1_HandleStructure.Init.WordLength = USART_WORDLENGTH_8B;        //×Ö3¤8λ
          USART1_HandleStructure.Init.StopBits = USART_STOPBITS_1;                //ò»¸öí£Ö1λ
          USART1_HandleStructure.Init.Parity = USART_PARITY_NONE;                //ÎTÆæżD£Ñé
          USART1_HandleStructure.Init.Mode        = USART_MODE_TX_RX;                //êÕ·¢Ä£ê½     
                HAL_USART_Init(&USART1_HandleStructure);
                __HAL_USART_ENABLE(&USART1_HandleStructure);
  /*##-3- Configure the NVIC for UART ########################################*/  
  /* NVIC for USART1 */  
  HAL_NVIC_SetPriority(USART1_IRQn, 0, 1);  
  HAL_NVIC_EnableIRQ(USART1_IRQn);  
        __HAL_USART_ENABLE_IT(&USART1_HandleStructure, USART_IT_RXNE);
        //__HAL_USART_ENABLE_IT(&USART1_HandleStructure, USART_IT_TC);
        //HAL_USART_Receive_IT(&USART1_HandleStructure, (u32)Usart1_Rxbuffer, 1);
       
}


void USART1_IRQHandler(void)
{
        u8 data;
         
        Work_Led_On();
        //Work_Led_Off();
        //Send_Data_To_Camera((u8*)"nima",4);
        if (__HAL_USART_GET_IT(&USART1_HandleStructure, USART_IT_TC) != RESET)
        {
               
                //__HAL_USART_CLEAR_IT(&USART1_HandleStructure, USART_CLEAR_TCF);
                //Send_Data_To_Camera((u8*)"nima", 4);
        }
        if (__HAL_USART_GET_IT(&USART1_HandleStructure, USART_IT_RXNE) != RESET)
        {
                data = USART1->RDR;
               
                Send_Data_To_Camera((u8*)"wocao", 5);
        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
RobertHand
1楼-- · 2019-08-14 00:06
是51C8 打错芯片型号
mochou99
2楼-- · 2019-08-14 00:48
兄弟,你的串口程序调试通了吗?我现在也在调试串口,发送用官方例程不行,你调试通了共享下吧。
RobertHand
3楼-- · 2019-08-14 06:47
mochou99 发表于 2017-10-1 23:00
兄弟,你的串口程序调试通了吗?我现在也在调试串口,发送用官方例程不行,你调试通了共享下吧。

调通了,我用LL库函数就可以。。。有点奇怪
RobertHand
4楼-- · 2019-08-14 11:34
 精彩回答 2  元偷偷看……
Jevin乐动
5楼-- · 2019-08-14 12:24
具体是很么问题,发和收都没有现象吗?
mochou99
6楼-- · 2019-08-14 14:19
Jevin乐动 发表于 2017-10-10 10:43
具体是很么问题,发和收都没有现象吗?

通过串口调试助手,可以看到发出的数据,接收的话偶尔有数据,大部分情况下是只有一个字节的数据,很不稳定

一周热门 更多>