0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【XR806开发板试用】基于FreeRTOS的UART1串口双向通信测试

冬至子 来源:guanguojin 作者:guanguojin 2023-10-17 11:25 次阅读

XR806是全志科技设计开发的一款支持WiFi和BLE的高集成度无线MCU芯片。之前已经支持了鸿蒙系统,现在又支持了FreeRTOS,可玩性又大大增强了。

环境准备

1.下载SDK和编译工具链

编译、烧录和测试

1.修改SDK中gcc.mk中CC_DIR,使其指向你的toolchain路径

title=

2.配置项目(可以拷贝已有项目的配置文件)

  1. cp project/demo/hello_demo/gcc/defconfig .config
  2. make menuconfig (可能需要安装libncurses5-dev),点击Save,然后Exit
  3. make build_clean
  4. make build -j$(nproc)
  5. 一切顺利的话编译生成的镜像就在 out/xr_system.img
  6. 我是在macbook上进行烧录的,将如下2个文件放到macbook本地
    tools/phoenixMC_mac64
    tools/settings_mac.ini
  7. 其中settings_mac.ini设置了烧录的串口信息和镜像位置
    title=
    8.在macbook的终端中执行./phoenixMC_mac64进行烧录(其中settings_mac.ini需要放在相同路径)
    title=
  8. 在macbook烧录最后会显示“Read old data1 error!”,但好歹不影响程序的执行
    title=
  9. 按一下K2 FT按键重启下开发板,通过串口工具(波特率115200)就能查看相关输出
    title=
构建串口应用
  1. XR806支持UART0-2,共3个串口外设,当前UART0用于终端调试输出,那我们就用UART1用于上位机相互,其对应的管脚为
    image.png
  2. 在xr806_sdk/project/demo下我们基于hello_demo模板拷贝生成一个uart_demo(cp -r hello_demo uart_demo)
  3. 修改uart_demo下的gcc/defconfig,使其CONFIG_PROJECT="demo/uart_demo"
  4. 从at_demo下拷贝文件serial.c、serial_debug.h、serial.h到uart_demo下,方便我们配置串口信息
  5. 修改main.c
#include "serial.h"

// UART1_ID 针对的就是串口1
serial_init(UART1_ID, 115200, UART_DATA_BITS_8, UART_PARITY_NONE, UART_STOP_BITS_1, 0);
serial_start();

uint8_t i = 0;
uint8_t recv_buffer[8];
uint8_t send_buffer[3];
buf[0] = 0xC1;
buf[1] = 0xC1;
buf[2] = 0xC1;

serial_write(buf, 3); //发送的测试数据
int len = serial_read(recv_buffer, 8); // 接收数据
for (i=0; i< 8; i++)
{
    printf("0x%x ", recv_buffer[i]);
}
printf("n");
  1. 回到xr806_sdk根目录,更新配置文件cp project/demo/uart_demo/gcc/defconfig .config,使用make build_clean,make_build来生成新的镜像文件
  2. USB串口线GND、TXD、RXD与XR806的GND、PB15、PB14相连接
    image.png
  3. 打开终端连接USB串口进行测试,接收终端能实时显示
    image.png
  4. 发送3个字节的二进制0x12,0x34,0x56,在XR806的终端能及时显示
    image.png

image.png

后续
  1. 当前发现在9600波特率出现数据传输丢失导致无法与Lora E32模块通信,后续尝试换根串口线再测试
  2. 尝试移植modbus RTU进行上位记通信
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口通信
    +关注

    关注

    32

    文章

    1577

    浏览量

    54861
  • FreeRTOS
    +关注

    关注

    12

    文章

    473

    浏览量

    61347
  • 上位机
    +关注

    关注

    26

    文章

    861

    浏览量

    54044
  • Uart串口
    +关注

    关注

    0

    文章

    28

    浏览量

    6715
  • MCU芯片
    +关注

    关注

    3

    文章

    218

    浏览量

    11144
收藏 人收藏

    评论

    相关推荐

    用全志XR806开发板实现语音紧急呼叫系统

    的建立工程建立和编译参考【XR806开发板试用】全志XR806开发板FreeRTOS代码包及
    发表于 01-15 10:41

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
    发表于 11-15 17:08

    XR806芯片、XR806开源鸿蒙开发板简介

    。可广泛满足 智能家居、智慧楼宇、工业互联、儿童玩具、电子竞赛、极客DIY 等领域的无线连接需求。芯片框图芯片参数XR806开源鸿蒙开发板介绍XR806开发板是基于
    发表于 11-15 18:32

    有哪位大神可以分享一下XR806开发板/模组的资料呢

    XR806开发板/模组的硬件包含哪几个部分?XR806开发板/模组的硬件该怎样去设计呢?
    发表于 12-28 06:51

    如何利用XR806开发板对TCP通信进行测试

    如何利用XR806开发板对TCP通信进行测试呢?其测试代码该怎样去是实现呢?
    发表于 12-28 07:48

    如何对XR806开发板的环境进行配置呢

    如何对XR806开发板的环境进行配置呢?有哪些配置步骤?
    发表于 12-28 07:51

    如何利用XR806开发板去实现一种UDP通信

    如何利用XR806开发板去实现一种UDP通信呢?其结果怎样?
    发表于 12-28 06:12

    请问大佬XR806鸿蒙开发板怎么样?

    请问大佬XR806鸿蒙开发板怎么样?
    发表于 12-29 07:06

    如何把XR806的loguart0更换为uart1uart2呢

    XR809/XR871/XR808/XR872/XR806 上如何把log
    发表于 12-29 07:40

    【直播预告】全志XR806芯片应用实战分享

    /joinXR806优秀开发例程《基于OpenHarmony的棋子分拣机》《用全志XR806开源鸿蒙开发板做一个四足行走机器狗》《【XR806
    发表于 02-28 17:39

    XR806开发板试用】留言板功能开发

    XR806开源鸿蒙开发板是一款基于XR806芯片设计,高度集成WiFi/BLE/常用外设,可供开发者进行方案评估、DIY或小规模产品研发,可广泛应用于智能家居、智能楼宇、智能城市和工业
    的头像 发表于 10-08 10:58 325次阅读

    XR806开发板试用FreeRTOS创建任务测试

    这篇来学习下,XR806开发板FreeRTOS系统下创建两个任务测试,由于没有找到学习的文档,试着参考例程来测试
    的头像 发表于 10-10 11:47 363次阅读
    【<b class='flag-5'>XR806</b><b class='flag-5'>开发板</b><b class='flag-5'>试用</b>】<b class='flag-5'>FreeRTOS</b>创建任务<b class='flag-5'>测试</b>

    XR806串口驱动CM32M对小厨宝的控制实验

    非常感谢基于安谋科技STAR-MC1的全志XR806 Wi-Fi+BLE开源鸿蒙开发板试用活动,并获得开发板试用
    的头像 发表于 10-23 11:39 305次阅读
    <b class='flag-5'>XR806</b><b class='flag-5'>串口</b>驱动CM32M对小厨宝的控制实验

    全志XR806底板位号图

    全志XR806底板位号图
    发表于 10-19 15:11 0次下载

    全志XR806开发板原理图

    全志XR806开发板原理图
    发表于 10-19 15:11 9次下载