欢迎阅读本指南,这是关于使用DK-S124的第二篇教程,该开发板可从DigiKey获取,型号RTK7DKS124S00002BU,由瑞萨电子公司生产 | 开发板、套件、编程器 | DigiKey。本指南将涵盖以下内容:识别开发板上需使用的引脚/端口、设置正确的开关配置、在e2 studio中创建新项目、使用Synergy软件包配置UART以及通过UART发送/接收数据。本指南假设您已搭建好开发环境(如前一篇指南所述:https://eewiki.net/display/microcontroller/Getting+Started+with+the+Renesas+DK-S124) ,并拥有DK-S124开发板用于运行代码,以及具备串行数据收发手段。本指南将使用PuTTY(一款Windows免费程序,下载地址:PuTTY: a free SSH and Telnet client)和USB转串口适配器例如DA-70156 Assmann WSW Components | 计算机设备 | DigiKey进行串行数据收发。
与前一篇指南相同,本文档可独立使用。但若您认为内容有所遗漏,下方附有实用参考资料。
开发板用户手册:《DK-S124快速入门指南》(renesas.com)
Synergy软件包用户手册:瑞萨Synergy™软件包(SSP)| Renesas
端口识别
开发板用户手册第26页的表8展示了串行通信螺丝端子排的引脚分布。请注意,引脚1靠近耳机插孔端,引脚8靠近筒形插孔端。另请注意,虽然通道1和2都连接至绿色螺丝端子排的串行电路,但只有通道1接入S124芯片。因此本指南将使用绿色端子排的4、5、7号引脚。对于DB9串行接口,将使用2、3、5号引脚。需注意两个设备间的Tx与Rx必须交叉连接,即DK-S124的Rx接串口的Tx,反之亦然。
使用母对公跳线连接两设备效果良好。也可采用DB9转接板配合焊接导线。两者均可通过DigiKey购买。
公母跳线:825 Adafruit Industries LLC | 原型开发、制造产品 | DigiKey
DB9转接板:A-DF 09 A/KG-T2S Assmann WSW Components | 连接器、互连器件 | DigiKey
本指南仅需使用GND、Rx和Tx三个引脚。串口其他引脚用于更复杂的流控方法,超出本指南范围。
开关设置
开关默认配置应设置为UART通信模式。若配置被更改,请确保开关1处于ON位置(RS232模式),开关4处于OFF位置(全双工模式)。这将启用UART双向通信功能。开关2和3的位置无关紧要,因为它们用于RS485通信。如有疑问,请参阅“识别端口”部分的图示。
创建项目
启动e2 studio,若未安装,请参考前文指南安装瑞萨Synergy平台。若刚完成入门指南操作,可能已有其他项目处于打开状态。无论何种情况,请导航至文件 > 新建 >Synergy C 项目( File>New>Synergy C Project ) 并点击。本指南将使用UARTguide作为项目名称。若软件配置正确,您会注意到许可证区域已自动填充。
点击Next 。接下来需选择设备型号。确保"开发板"字段显示
“S124 DK”,且设备与芯片匹配。此处应显示"R7FS124773A01CFM"。
点击Next 。本指南将使用标准BSP项目模板。若对e2 studio界面布局不满意,可通过编辑器右上角的视图切换器或窗口 > 透视图 > 打开透视图 > 其他( Window>Perspective>Open Perspective> Other ) …进行调整。本指南将使用C/C++透视图。
使用 Synergy 软件包
瑞萨已极大简化了手动设置寄存器值等细节操作。这能显著缩短开发时间,开发者无需耗费数小时翻阅上千页的数据手册寻找需要修改的位。基于这些优化,UART模块配置仅需几次点击即可完成,通过UART发送数据只需一行代码。
新项目加载后,双击项目结构根目录下的"configuration.xml"。若未自动打开,这将启动项目配置页面。
在项目配置页面底部点击标有"线程( Threads ) "的标签页。点击"线程( Threads ) "区域左上角的新建线程图标。这将创建名为"New Thread"的新线程。
可通过点击"属性( properties ) "标签页编辑"名称"字段来重命名线程。您可能还需要将符号改为更有意义的标识。
接下来需为UARTThread添加"堆栈"以使用UART外设。操作方法是点击堆栈区域右上角的"添加堆栈( add stack ) "图标。导航至 Driver(驱动程序) > Connectivity(连接性) > UART Driver(UART驱动程序)下的 r_sci_uart。
注意,堆栈名称会立即显示为红色。这是因为其仍需配置。要配置堆栈,请向下滚动堆栈属性,直至找到 Interrupt Priority(中断优先级)字段。这些字段以及“Name of UART callback…(UART回调名称…)”字段都需要配置。
对于这个简单示例,用户定义的 uart 回调可以设置为 NULL,因为它不会被使用。此外,中断优先级可以设置为 0、1 或 2 中的任意值。其他优先级仅适用于不同的架构(此板为 ARM Cortex M0+)以及不使用瑞萨 ThreadX 平台的应用。最终您的属性设置应如下图所示:
还需注意,本指南将使用 9600 波特率、8 位数据位、无奇偶校验和 1 位停止位的设置。您可以使用不同的设置,但请记住相应地配置
您的串行通信设置。添加属性后,点击 Threads(线程)区域右上角的 Generate Project Content(生成项目内容)。这将配置您的项目以使用刚刚添加的设置。
您现在应该有一个新的源文件,其名称与之前输入到符号字段中的内容类似。双击它以在编辑器中打开。
我们现在将使用瑞萨 API 来操作 UART 模块,完整 API 可参考《Synergy 软件包用户手册》的 7.32 章节。
要快速测试 UART 设置,仅需 3 行代码。注释代码附在下方。
#include "uartthread.h"
/* UARTThread entry function */
void uartthread_entry(void)
{
uint8_t cstr[] = "Hello! "; //the text to be sent, stored as unsigned 8 bit data.
g_uart0.p_api->open(g_uart0.p_ctrl, g_uart0.p_cfg); //initialization of the UART module
//g_uart0 comes from the configuration, p_api is the pointer to the API structure for this device
//p_crtl is the "control structure" part of the abstraction layers Renesas has set up
//p_cfg is the configuration structure
while (1)
{
g_uart0.p_api->write(g_uart0.p_ctrl, cstr, 7);
//write takes 3 arguments: the control structure of the device,
// a pointer to the first character to write,
// and the number of characters to write.
tx_thread_sleep (1); //need to let this thread sleep so the other threads can function
//(not really an issue for this simple application)
}
}
复制代码后,点击锤子图标以观察其构建过程。如果一切输入正确,项目应会在短时间内构建完成。如果出现错误或警告,请务必仔细检查所有输入是否正确。项目构建完成后,即可将其上传至开发板。使用 USB A 转 Micro USB 线将开发板连接到电脑,确保连接的是电池座旁边的调试端口,而非螺丝端子块顶部的端口。
接下来,将设置 PuTTY 以显示串行通信。
使用 PuTTY 发送和接收数据
(可在此处获取:PuTTY:免费的 SSH 和 Telnet 客户端)
要下载 PuTTY,请点击上方链接并点击标有“Download it here(点击此处下载)”的链接。您可以使用安装程序或仅下载 putty.exe,因为这是唯一需要的工具。
下载/安装完成后,启动 PuTTY,您将看到如下界面:
将使用“Serial(串行)”连接。
同时还需检查“串行”部分的选项设置。确保“流量控制( Flow Control ) ”设为无,因为在这个简单应用中未实现流量控制功能。
现在需要确定使用哪个COM设备。这取决于您对串行设备的配置方式。可通过打开Windows设备管理器进行确认。点击Windows开始按钮并输入“设备管理器”即可打开。滚动到“端口(COM和LPT)”位置。此处应显示您的串行设备。本例中,USB转串口设备被识别为COM4。Windows会自动为大多数USB转串口设备安装驱动。若设备未能自动安装,请查阅制造商页面获取安装指南/驱动。
在putty中按需更改COM设备后,点击底部的“打开”。此时应出现空白终端界面,等待接收串行线路数据。立即点击e2 studio的调试图标,将新程序上传至开发板。如果顺利,您将不会看到之前出现的诡异错误。
错误提示内容如下:
Error in final launch sequence
Failed to execute MI command:
target extended-remote localhost:61234
Error message from debugger back end:
localhost:61234: The system tried to join a drive to a directory on a joined drive.
Failed to execute MI command:
target extended-remote localhost:61234
Error message from debugger back end:
localhost:61234: The system tried to join a drive to a directory on a joined drive.
localhost:61234: The system tried to join a drive to a directory on a joined drive.
若不够走运,可尝试关闭重启e2 studio、用相同设置新建调试配置,甚至重启电脑等操作。
当您解决诡异错误后(或幸运地未遇到),PuTTY会话应保持开启,e2 studio已启动调试器,程序会在开发板的main函数处暂停。点击e2 studio的“继续”按钮执行程序,可能需要点击两次以通过所有断点。
恭喜!您已成功通过Renesas DK-S124实现UART数据传输。Renesas Synergy软件平台能轻松启动开发工作。在其他多数平台上,完成相同示例需要手动配置多个寄存器,并交叉参考多份数据手册和用户手册。Renesas将其简化为一份主用户手册(上文链接的Synergy软件平台用户手册)和简易配置工具。仅需数次点击和3行代码即可初始化UART并开始发送数据。
问题 / 评论
如有任何问题或意见,请访问得捷电子技术论坛
















