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

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

3天内不再提示

【感芯科技64线程MC3172开发板免费试用体验】与PC和51开发板串口通讯

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-13 11:11 次阅读

本文来源电子发烧友社区,作者:Aivisus, 帖子地址:https://bbs.elecfans.com/jishu_2308773_1_1.html



串口通信测试(视频详见作者原帖子)

从介绍上看MC3172有非常丰富的IO资源,这里就实际测试一下MC3172的常用的串口通信功能。
此次MC3172的串口测试设定两个目标,一个是与PC通信,即能够在PC上对MC3172板子进行收发数据。第二是与51单片机进行收发数据通讯。
首先查看到MC3172开发版有12组可以使用的串口配置,从网上找到某位大神总结的一张图如下:
pYYBAGM9vnuASwiVAAlR7a0HCc8930.png
在看例程里,线程2就是串口通讯的例程,打开注释,即可以进行串口通信的测试。这里使用一个uartusb的小转接板,用于PC与MC3172进行串口通信,转接板的RX,TX分别接入MC3172开发板的PC3(TX),pc2(RX),要注意RX/TX的接线顺序,接反是收发不了数据的。
poYBAGM9vrGAUwbHAA06gykd1Bo992.jpg
然后在PC上打开串口工具 SCOM ,把转接板插入PC,找到转接板对应的串口号,然后在scom里打开这个串口,设置波特率为 115200, 8N1 的设置,即可看到MC3172向PC连续发送的0x31数据了,PC上向开发板发送也一样,发送后可以将数据再反向发回来,即验证开发板与PC通讯成功。
poYBAGM9vvKAJtbxAAGt-u_-kt0084.png
在与51单片机通讯时,由于51单片机高通讯速度只有9600,所以修改mc3172串口代码,开始是简单的修改了串口的通讯速度,即修改如下:


  1. void GPCOM_UART_EXAMPLE(u32 gpcom_sel)
  2. {
  3. INTDEV_SET_CLK_RST(gpcom_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV4));
  4. GPCOM_SET_IN_PORT(gpcom_sel,(GPCOM_RXD_IS_P2));
  5. GPCOM_SET_OUT_PORT(gpcom_sel,(
  6. GPCOM_P0_OUTPUT_DISABLE|GPCOM_P3_OUTPUT_ENABLE|GPCOM_P2_OUTPUT_DISABLE|GPCOM_P1_OUTPUT_DISABLE|
  7. GPCOM_P0_IS_HIGH |GPCOM_P3_IS_TXD |GPCOM_P2_IS_HIGH |GPCOM_P1_IS_HIGH
  8. ));
  9. GPCOM_SET_COM_MODE(gpcom_sel,GPCOM_UART_MODE);
  10. GPCOM_SET_COM_SPEED(gpcom_sel,12000000,9600); //这里<---115200改为9600
  11. GPCOM_SET_OVERRIDE_GPIO(gpcom_sel, (
  12. GPCOM_P2_OVERRIDE_GPIO|GPCOM_P2_INPUT_ENABLE |
  13. GPCOM_P3_OVERRIDE_GPIO
  14. ……
  15. }
复制代码


首先通过PC连接51开发板,把通讯速率调至9600,8N1的设置,向开发板发送字符串,51单片机开发一个简单的程序,就是将串口收到的acsii码显示到LCD屏幕上,PC向51单片机发送字符串时,51单片机能够正确的显示出发送的内容,因此验证51单片机通讯工作正常。
然后把MC3172的PC3(TX),PC2(RX)脚连接51单片机的P30,P31口,即把MC3172串口与51单片机串口连接起来,验证MC3172能够51单片机通讯。
烧写好程序,连接好线后,运行MC3172程序,单片机LCD 上显示的是乱码,并没有正确的显示出预设的字符串。又将MC3172连接到PC上,PC上使用9600速率进行连接,发现也是收到的数据不正确。
pYYBAGM9v0qAOwVkAAdPpGXv4dE614.png
经过几番测试研究,又上网找资料,终于在一个论坛里,发现一个官方技术人员关于MC3172串口通讯的回帖,串口速率的设置,不能只设置波特率,需要根据芯片主频,来设定合适的分频数,以及芯片外设的主频率和通讯波特率,并且主频频率于波特率的比值不能超过255, 那这一下就明白了,只修改通讯速率是不行的。

那么以这次与51开发板通讯所需要的9600通讯来说,是这样计算的,因为使用的是200M(实际是192076800Hz) 先进行1/256分频,得到外设的工作频率 750300, 然后检验 6002400/9600=78.1, 78 < 255, 即合适。如果这里分频选择小了,那么外设工作频率就大,比如选择32分频,那么外设工作频率为192076800Hz/32=6002400, 再检查倍率6002400/9600=625, > 255, 则无法正常工作。
因此了解这个规则后,就可以随心所欲的设置了,同时如果在配置线程时,选择了不同的晶振,也需要修改相关的参数,串口才能正常的工作。
最后在选择内部rc晶振下,修改两行代码如下,即可以正确的与51单片机进行通讯了。

INTDEV_SET_CLK_RST(gpcom_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIv2));
改为
INTDEV_SET_CLK_RST(gpcom_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV256));
GPCOM_SET_COM_SPEED(gpcom_sel,12000000,115200);
改为
GPCOM_SET_COM_SPEED(gpcom_sel,750300,9600);
最后终于在51单片机上收到MC3172板子发来正确
的数据了。
pYYBAGM9v5GASrg2AAosoDWA_EI025.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    设计TMS320C548/9 DSP开发板

    电子发烧友网站提供《设计TMS320C548/9 DSP开发板.pdf》资料免费下载
    发表于 10-26 10:13 0次下载
    设计TMS320C548/9 DSP<b class='flag-5'>开发板</b>

    在TI开发板上启用Android Automotive

    电子发烧友网站提供《在TI开发板上启用Android Automotive.pdf》资料免费下载
    发表于 09-18 14:52 0次下载
    在TI<b class='flag-5'>开发板</b>上启用Android Automotive

    51开发板芯片资料

    51开发板芯片资料
    发表于 09-18 09:29 1次下载

    linux开发板与树莓派的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓派:树莓派(Raspberry Pi)是一种基于Linux
    的头像 发表于 08-30 15:34 593次阅读

    第2章_开发板使用

    本课程使用 ST-Link 给开发板供电、烧录、调试。
    的头像 发表于 06-29 14:25 1254次阅读
    第2章_<b class='flag-5'>开发板</b>使用

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起
    的头像 发表于 06-13 08:02 424次阅读
    点击参与米尔NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    免费!NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了2块价值678
    的头像 发表于 05-23 08:01 634次阅读
    <b class='flag-5'>免费</b>!NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    鸿蒙OpenHarmony开发板解析:【芯片解决方案】

    芯片解决方案是指基于某款开发板的完整解决方案,包含驱动、设备侧接口适配、开发板sdk等。
    的头像 发表于 05-10 15:42 1114次阅读
    鸿蒙OpenHarmony<b class='flag-5'>开发板</b>解析:【芯片解决方案】

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字电路和逻辑功能。FPGA开发板通常包括FPGA芯片、时钟模块、电源模块、输入输出接口等组
    的头像 发表于 03-14 18:20 1725次阅读

    fpga开发板使用教程

    FPGA开发板的使用教程主要包括以下几个关键步骤。
    的头像 发表于 03-14 15:50 923次阅读

    fpga开发板与linux开发板区别

    FPGA开发板与Linux开发板是两种不同的硬件开发平台,各自具有不同的特点和应用场景。在以下的文章中,我将详细介绍FPGA开发板和Linux开发板
    的头像 发表于 02-01 17:09 1994次阅读

    51单片机开发板的主要功能 51单片机开发板能做什么

    51单片机开发板是一种基于8051系列单片机芯片的开发板,具有丰富的功能和广泛的应用。下面将详细介绍51单片机开发板的主要功能以及能够实现的
    的头像 发表于 01-23 15:52 3258次阅读

    使用爱派Pro开发板部署人体姿态估计模型

    在经过之前对于开发板的使用,以及通过几个爱派官方给出的示例demo(mobilenet/yolov5)在开发板上的部署之后,笔者也逐渐了解了爱派这块
    的头像 发表于 01-09 09:50 1318次阅读
    使用爱<b class='flag-5'>芯</b>派Pro<b class='flag-5'>开发板</b>部署人体姿态估计模型

    51单片机开发板原理图介绍

    电子发烧友网站提供《51单片机开发板原理图介绍.pdf》资料免费下载
    发表于 12-18 09:12 4次下载

    使用YY3568开发板部署AI能力

    YY3568开发板是 「风火轮科技」 基于Rockchip RK3568 芯片平台设计的开发板,四核 64Cortex-A55 核,主频最高达 2GHz,集成双核心架构GPU以及高效能NPU,芯片
    的头像 发表于 11-28 10:59 1911次阅读
    使用YY3568<b class='flag-5'>开发板</b>部署AI能力