基于STM32L4+BC28(全网通) NBIOT开发板原理图教程源码等开...

2020-02-29 10:46发布

基于STM32L4+BC28(全网通) NBIOT开发板原理图教程源码等开源分享
FCORE_BC28L4 NB-iot原理图、教程和源码资料下载见附件,电脑登入
源码 {MOD}链接:https://pan.baidu.com/s/18gkI9U1sVvauu_VzuUjauA
提取码:6yd2
1.jpg 2.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
mmuuss586
2020-03-03 10:49
现在测试的程序已经完全OK了,但是还差了很重要的一步,就是我们串口通信的服务函数还没有写,在stm32lxx_it.c文件的最后面添加两个串口的中断服务函数,添加完下面函数后,单片机就能及时收到对应信息并作相应处理了。
stm32lxx_it.c文件中添加如下是代码
*************************外部宏定义重申明***************************
extern UART_HandleTypeDef hlpuart1;
extern uint8_t                         RX_Conter_1;

extern uint8_t                         RX_BUFFER_LPTMP[200];
extern uint8_t                         RX_BUFFER_lp[200];
extern uint8_t                         RX_Conter_lp;

extern uint8_t                         RX_BUFFER_1TMP[10];
extern uint8_t                         RX_BUFFER_1[10];
extern uint8_t                         RX_Conter_1;
***********************LPUSAR中断服务函数***************************
void LPUART1_IRQHandler(void)
{
  /* USER CODE BEGIN LPUART1_IRQn 0 */
        char *xstrx=NULL;
  uint32_t tmp_flag = 0;
  uint32_t temp;
  /* USER CODE END LPUART1_IRQn 0 */
  HAL_UART_IRQHandler(&hlpuart1);
  /* USER CODE BEGIN LPUART1_IRQn 1 */
  tmp_flag = __HAL_UART_GET_FLAG(&hlpuart1,UART_FLAG_IDLE);
    if((tmp_flag != RESET))
     {   
      __HAL_UART_CLEAR_IDLEFLAG(&hlpuart1);
      HAL_UART_DMAStop(&hlpuart1);
      temp  = hdma_lpuart_rx.Instance->CNDTR;
      RX_Conter_lp =200- temp;
      }
  HAL_UART_Receive_DMA(&hlpuart1, RX_BUFFER_lp,200);
  }

一周热门 更多>