【沁恒RISC-V内核 CH582】移植射频代码02
[复制链接]
本帖最后由 yangjiaxu 于 2022-4-1 01:17 编辑
今天来更新进度啦,真的很过意不去,在家被封了这么久,可算把板子拿回来开搞了。不过很顺利,把CH582驱动RFID的部分实现了。先看看效果。
程序代码流程主要是将识别到IC卡之后,printf一下次数。很简单的应用,这只是基础,还没有增加业务方面。不过这也算是把底层调通了。对于第2次使用沁恒RISC-V内核的MCU来说还是比较欣喜的。
首先分享一下部分代码,其余代码在附件。
int main()
{
UINT8 static i;
SetSysClock( CLK_SOURCE_PLL_60MHz );
/* 配置串口调试 */
DebugInit();
PRINT( "Start @ChipID=%02X\n", R8_CHIP_ID );
FM17522_IOinit();
while( 1 )
{
if (Fm17522_TypeA_CardActive()) {
i++;
PRINT( "刷卡成功 %d 次\n" ,i);
DelayMs(500);
}
}
}
我之前采用的PA11-15端口,从原理图来看PA11是外置32K的低频晶振。当初使用这几个端口之后发现调试驱动的时候,FM17522是没反应的,返回应答数据是0,这是代表通讯失败的标记。之后我将端口修改成了PB2-PB6将这个问题解决了。
接下来在调试的时候发现了几个问题,因为用WCHlink的次数实在是太少了,而且还不是很熟悉这个开发环境,因此,调试的时候遇到了很多难题。比如报错。
这个提示是连接Risc-V内核的MCU失败,一般情况是连接线序不对会报错,不过CH582这颗芯片比较有意思,它默认这个调试接口是关闭的。所以第一次调试的时候也会报这个错误。
那么怎么解决呢?通过WCH的ISP软件解决。需要打开WCHISPTool工具,然后按住download按键之后给开发板上电,会自动识别芯片型号与芯片状态,接下来勾选使能两线仿真调试接口,勾选完之后,会提示你开启接口,点击一下开启,即可解决这个问题。
还有,这个每次给CH582重新上电的时候,如果想使用WCHlink调试,都需要使能一次这个仿真接口,不知道有没有一种设置,将这个接口一直开启或者关闭,这样能方便调试。
接下来目标就是调试USB部分了,将USB与射频向结合,实现USB阅读器。感觉沁恒的MCU越来越有意思了,加油!!!
|