中科蓝讯AB32VG1串口应用之物联网平台数据传送
本文将介绍基于 rt-thread studio 的 sdk配置 AB32VG1 片上外设 UART 的功能,实现开发板和物联网模块的通信。进而将上期文章中ADC采集的电压值通过4G物联网模块发送至中国移动onenet物联网云平台。本实验是在上期实验项目《中科蓝讯 AB32VG1 开发板ADC采集与显示实验》项目基础上,增加串口数据发送功能,将采集的到电压数据发送onenet云平台上。
开发板串口接口电路如上图所示,从电路图上看,串口 1 使用的是 PA3 和 PA4。AB32VG1 的串口 0 被用作系统调试串口,串口 1 可以用作通讯端口。RT-Thread 里做好了 UART0 和 UART1 的驱动,只要打开相应的设备即可。这里我们使用串口1发送数据至4G物联网模块。首先开启UART1设备,只需要双击打开RT-Thread Settings,进入硬件资源配置界面,按照下图设置,勾选UART1,点击保存即可。
驱动添加之后,由于在初始化串口时,默认波特率是 1500000,所以修改串口1的波特率为115200,可以在 libraries->hal_drivers->drv_usart.c。如下图所示,双击打开drv_usart.c。找到int rt_hw_usart_init(void)函数,这个就是串口初始化函数。修改如下图2所示。
然后,修改主函数,添加图下代码
/* 用于接收消息的信号量 */
rt_device_t serial;
rt_uint32_t value, vol;
/* 接收数据回调函数 */
void serial_thread_entry(void *parameter)
{
char ch;
while (1)
{
//rt_device_write(serial, 1, &ch, 1);
}
}
void uart_sample(int advalue)
{
rt_err_t ret = RT_EOK;
char text[200];
char buf[200];
rt_memset(buf, 0, sizeof(buf));
rt_memset(text, 0, sizeof(text));
rt_sprintf(text, "{\"temperature\":\"%d.%d\",", 202/10,202%10);
strcat(buf, text);
memset(text, 0, sizeof(text));
rt_sprintf(text, "\"TDSValue\":\"%d.%d\"}", advalue/100,advalue%100);
strcat(buf, text);
/* 查找系统中的串口设备 */
serial = rt_device_find(SAMPLE_UART_NAME);
if (!serial)
{
rt_kprintf("find %s failed!\n", SAMPLE_UART_NAME);
}
/* 初始化信号量 */
//rt_sem_init(&rx_sem, "rx_sem", 1, RT_IPC_FLAG_FIFO);
/* 以中断接收及轮询发送模式打开串口设备 */
rt_device_open(serial, RT_DEVICE_FLAG_INT_RX);
/* 设置接收回调函数 */
//rt_device_set_rx_indicate(serial, uart_input);
/* 发送字符串 */
rt_device_write(serial, 1, buf, (sizeof(buf) - 1));
/* 创建 serial 线程 */
rt_thread_t thread = rt_thread_create("serial", serial_thread_entry, RT_NULL, 1024, 25, 10);
/* 创建成功则启动线程 */
if (thread != RT_NULL)
{
rt_thread_startup(thread);
}
else
{
ret = RT_ERROR;
}
}
保存编译工程,下载文件至开发板,运行效果如视频所示。
中科蓝讯AB32VG1串口应用之物联网平台数据传送相关推荐
- 中科蓝讯 AB32VG1 RISC-V开发板模块评测任务大挑战
开发板是开发者进行学习.产品原型开发.芯片评估不可缺少的,那如何在有限的时间内让小伙伴充分利用好开发板呢?让小伙伴更好的学习掌握RT-Thread呢?RT-Thread官方特联合合作伙伴发起开发板评测 ...
- 中科蓝讯 AB32VG1 开发板 GPIO 控制RGB彩灯实验
本篇文章通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO 的引脚,控制 RGB 彩灯进行红绿蓝三色的变换. 1. 模块介绍开发板上板载一个三色 RGB 彩灯,电路原理图 ...
- 《嵌入式系统 - 玩转中科蓝讯(AB32VG1)开发板(基于RT-Thread系统)》第4章 看门狗
原文地址 开发环境: RT-Thread版本:4.0.3 操作系统:Windows 10 RT-Thread Studio版本:2.0.0 开发板MCU:AB5301A 4.1看门狗工作原理 看门狗用 ...
- 蓝牙芯片排行_国内最大蓝牙芯片厂商中科蓝讯签约阿里平头哥,共研物联网芯片...
点击看:光刻机40年资本局:尼康起高楼,ASML宴宾客,美国楼塌了 芯榜 中国半导体排行榜. 记者获悉,日前国内最大蓝牙芯片厂商中科蓝讯与平头哥半导体达成合作,双方将基于平头哥的玄铁系列处理器及AI算 ...
- 中科蓝讯蓝牙:RAM使用,ram.ld文件和map.txt文件的查看
目录 1.ram.ld文件和map.txt文件的作用: 2. ram.ld文件 MEMORY 3.flash区 4. comm (34K) 公共区: 5.bcomm区: 6.stack区(长度为1K) ...
- 中科蓝讯_889X系列蓝牙SPP的使用
关于中科蓝讯蓝牙SPP的使用 SPP是Serial Port Profile(串口协议)的缩写,其定义了使用蓝牙进行RS232(或类似)串行电缆仿真的设备应使用的协议和过程.简单来说就是在蓝牙设备之间 ...
- 中科蓝讯通过注册:年营收11亿 拟募资16亿
雷递网 雷建平 5月30日报道 深圳市中科蓝讯科技有限公司(简称:"中科蓝讯")日前通过注册,准备在科创板上市,计划募资15.96亿元. 其中,4.16亿用于智能蓝牙音频芯片升级项 ...
- 中科蓝讯--修改蓝牙名字的方法
中科蓝讯–修改蓝牙名字的方法 芯片修改名字的方法有两种,一种是通过程序进行修改,另外一种是通过配置工具进行修改,这两种方法归根结底还是一个原理,只是获取方式不同而已. 1.通过函数进行修改: 来到bt ...
- 【智能手表方案推荐】基于中科蓝讯BT8958B2 的 Smart Watch 方案介绍
目录 ►场景应用图 ►产品实体图 ►展示板照片 ►方案方块图 ►核心技术优势 ►方案规格 随着人们对于智能手表功能性需求的提高,智能手表的应用方向需要不仅能满足于日常生活中可替代手机为用户提供方便的场 ...
最新文章
- Fire Workflow FAQ
- SQLServer性能优化之查询提示
- 回顾国产手机4年沉浮,仍然只是靠这三招翻身
- bzoj3993: [SDOI2015]星际战争(二分+最大流)
- mysql delete in死锁_mysql 执行delete引发死锁问题
- uos配置 java 环境变量_CentOS 7.3 环境配置java和tomcat开机启动
- jQuery基础学习笔记(中)
- nodejs从服务器返回静态文件,nodejs静态资源服务器
- node生成uuid
- 仿真软件都在这里了!20+国内外自动驾驶仿真软件大盘点
- Java实现字符串逆序输出
- 互联网知识变现,不起眼利润高的冷门行业有哪些?
- 爬虫goodreads数据_精通技术的读者正在设计自己更好的goodreads版本
- note20220227.docx
- ERDAS IMAGINE 2013裁剪影像方法
- xpath兄弟结点语法
- 用户需求调研—快速上手篇
- java大数据开发是做什么的
- Lists.partition用法
- scratch案例——打字游戏初级篇