4g模块从stm32得到数据发送到电脑是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4g模块从stm32得到数据发送到电脑是啥意思相关的知识,希望对你有一定的参考价值。

参考技术A stm32是一种嵌入式cpu,在这里应该指的是用这款CPU做出来的数据采集设备。4G模块和这个设备之间有通信关系,可以传输数据。同时随机模块可以把数据发送到网络上,然后计算机可以连接后得到这些数据。
实际上就是一个远程监控和数据传输的一个过程

STM32串口接收小结

STM32串口接收数据

稍微理一下思路,一个数据从电脑发送到STM32,然后在从STM32返回到电脑显示出来。

 

 技术图片

如上图所示,发送(1所示的路线)前,STM32的淳口需要初始化的设置。包括:波特率,字长,硬件流,停止位,奇偶校验位,模式(接收,发送,接收和发送),串口的基地址(Instance)。在初始化串口的函数里面,需要调用到HAL_UART_MspInit(),这是一个虚函数(_weak),HAL_UART_MspInit()会调用到HAL_GPIO_Init(),把IO口进行配置。(模式,上下拉,速度,复用)

 

3.接收中断优先级的配置

HAL_NVIC_EnableIRQ(USART1_IRQn);          //接收中断使能          
HAL_NVIC_SetPriority(USART1_IRQn,2,2);    // 中断优先级的配置       

 

以上两个函数可以放在HAL_UART_MspInit()里面进行

 

4.使能串口接收中断

HAL_UART_Receive_IT(&usart1_handler,rdula,1);

这个函数可以写在主函数里面,因为在uart.c的文件中是有的。同时可以写在串口配置函数的后面。

 

5.编写中断服务函数

/***中断服务函数***/
void USART1_IRQHandler()
{
    HAL_UART_IRQHandler(&usart1_handler);      //中断处理函数

   HAL_UART_Receive_IT(&usart1_handler,rdula,1);//使能接收中断。为什么放在这里,因为是处理完中断处理函数,而接受中断关闭,不在处理相关的接收数据,为了能够再次接收数据,可以把接收中断函数放在中断服务函数逇里面。

}

 

6.编写中断回调函数

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    u8 temp;
    if(huart->Instance == USART1)            //判断是不是串口一,要对串口一进行回调函数。
    {
        temp=*((huart->pRxBuffPtr)-1);
        HAL_UART_Transmit(&usart1_handler,&temp,1,1000);
    
    }
    
}

 

上图所示的代码中,void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)是一个虚函数(_weak),所以需要重新定义。其中if是判断这个基地址是不是串口一。

 

 

 

                                                                                           2019-09-06   21:52:36

以上是关于4g模块从stm32得到数据发送到电脑是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

没有来自 PC 的音频数据发送到 STM32F4 音频类 USB

STM32串口接收小结

Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理

Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理

Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理

STM32串口发送接收数据