【DigiKey创意大赛】速度计_在e2studio中使用EK-RA2E1的UART发送数据
[复制链接]
本帖最后由 yilonglucky 于 2023-12-27 09:50 编辑
昨天说到这款主控最多支持4个UART,所以创建了四个线程来分别对应,然后昨晚研究了下,好像有点成果了。
依然是不用写代码!不用写代码!不用写代码!
之前在components中勾选了sci模组,只是自动生成了库文件,可以使用这些库文件,但是没有具体的实例,就没有办法初始化没办法使用。
我查了下初始化函数需要传入具体的句柄,本来还想自己定义,但是猜测没这么low。
果然,只要在配置文件中为线程新加要使用的资源即可。如下图,分别为4个thread添加uart资源,然后点击生成按钮。
注:瑞萨的DTC等同于DMA,这里我们不用。
然后,重点来了:在ra_gen下就会在对应线程内自动定义对应的uart资源。
但是之前创建线程的时候编号是0123,分别为线程添加uart资源时,自动生成的变量编号也是0123,那么肯定是有哪个地方需要把这些变量与实际硬件资源的SCI0、SCI1、SCI2、SCI9对应起来。顺着生成的定义寻找,果然有一个channel,默认生成的全部是0!这就不对了,需要把我们生成的线程1、2、3里对应的channel分别修正为1、2、9这样就和硬件资源对应了。
好了,到此为止,我们生成了工程,新加了线程,线程里分别配置的软硬件资源,虽然一行代码没写,但是就差临门一脚输出数据了。
在我们新加的thread中补充init部分和loop部分:
Done!可以分别从UART0、1、2、9的Tx脚看到输出的数据了。
UART0 TX对应p205,UART1 TX对应p401,UART2 TX对应p302,UART9 TX对应p109。
代码详见附件,可以同时从4个口输出不同数据。
总结一下:
配置界面不错,可以自动生成代码,管脚配置界面挺简单,任务和任务使用的资源也可以自动生成。
缺点:
任务的名字需要手动修改,不能通过配置的方式修改。
自动生成的资源需要手动修改通道对应编号,而且如果修改过,不小心再次点击生成按钮,之前的修改就都丢失了。。。。
UART波特率,不支持通过配置的方式修改,而且连宏定义都没有,只能自己去算分频数字。。。
或者可能我不会配置的方法,请大师留言指点下
|