ME32F103评测报告
----GPIO单线数据发送接收+ADC+CAN通讯测试
中午在食堂吃完饭,顺便去学校快递点拿包裹。迫不及待的打开快递,里面是一块ME32F103的开发板,厂商贴心的还附赠了三块新的芯片。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps1.png
图1 收到的开发板和芯片
晚上回家,兴奋的连接好WCH-DAPlink后,上电,开始尝试新建工程设置Device。结果当头一棒,电脑上的KEIL竟然找不到目标芯片,于是重新导入PACK,无果。于是各种搜索,结果还是在Device中还是死活找不到,最后放弃了。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps2.jpg
图2 Device中找不到设备
遇到难题,如何解决:回到起点去找答案。在厂商提供的资料中,发现数据手册和资料都是以前的,于是将keil版本降到5.37后,终于解决了。据官方FAE回复,PACK 支持到KEIL 5.39。
想起上次申请了一块瑞萨的开发板,官方软件安装总是提示缺少文件无法安装。这台使用多年的老电脑重装系统不可能,升级到WIN10和WIN11更不太可能。于是果断放弃取研究此芯片。无可否认瑞萨芯片是不错,但没适配普通的开发软件,不能适配广大嵌入式工程师的开发习惯,再好也就是块板砖。
言归正传,于是尝试编写一段驱动gpio的程序先试试。困难总是不期而至,发现debug找不到DAP-LINK。又一通搜,发现可以把boot引脚短接,重新启动电路板,但是仅仅可以烧录一次,想再次烧入只能断电重来。想调试程序也不可以。于是又去网上买了一个ARM仿真器,但还是无法仿真,试验多次以后,通过官方网页给技术支持发了一封邮件,没想到技术支持竟然一一回复了。FAE在微信中教怎么设置,按照FAE的指导设置完成后,一切就都可以了,于是开启了我的试用之旅。
首先设置芯片(如下图3):
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps3.jpg
图3 KEIL5.37设置芯片型号
需要注意的是,JLINK的设置中的reset设置一定设置成Reset Pin。如图4中的设置
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps4.jpg
图4 Reset的设置
申请这个开发板是想将手头闲置的温湿度传感器DHT11使用起来,用于监测冬天房间内的温湿度,虽然在网上买一个也不贵,但怎比亲手搭建一个,而且可以自己增加各种功能好玩。今天终于有时间把测评报告写一写。
这是程序框图如图5所示
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps5.jpg
图5 程序框图
程序编写完成后,开始调试。ADC0没有使用,预留在那。待有空把另外一个湿度传感器接上。目前使用的DHT11,将数据采集后用CAN通讯发送到上位机,(上位机还没有时间编写,待这段时间忙完后再补充进来)。CAN通讯采用标准帧,500K的传输速率。前四个字节是AD0的数据,后四个字节是DHT11的湿度和温度数据。图6是程序调试过程的watch1的数据。图7是CAN调试助手接收的数据。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps6.jpg
图6 watch1的数据
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps7.jpg
图7 CAN调试助手数据接收
note:敏矽微官方给的例程中,systick延时程序是用的内部时钟。如果使用外部时钟需要修改延时程序。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml10440\wps8.jpg
使用过程中的一点感悟:国产芯片数据手册和参考手册写的极其不详细而且网上资料非常少。例如在了解外部时钟设置时,手册上的时钟树太简单了,如果能像STM32那样就比较好。
2、敏矽微ME32F103的例程还是挺丰富的,有些程序可以直接使用,减少很多的编程工作量。
3、厂商的技术支持非常重要。国产芯片很多的数据手册都不开放,想使用时都没法,只能去用infineon等国外品牌。
4、ME32F103是款非常好的芯片,功能非常丰富,目前只使用了一小部分功能,还有很多的功能待了解,比如定时器,中断,看门狗,PWM等。还有一块WIFI模块到时候也想办法用上。还有很多很多想法,目前先写到这吧。