N32L40XCL-STB的I2C测试步骤

电子说

1.3w人已加入

描述

一、概述

本人基于 rt-thread studio 对 N32L40XCL 进行I2C测试。具体表现为使用 N32L40XCL 的 I2C1 (PA4:I2C1_SCL;PA5:I2C1_SDA) 接口驱动四线 I2C OLED 0.96 寸屏幕。解决过程和遇到的问题及其解决方法如下。

二、问题及其解决措施

使用DAP-LINK时,无法下载
解决措施: 手动添加PACK包,解决下载错误问题。

具体步骤:copy资料包中的“Nationstech.N32L40x_DFP.1.0.0.pack”到rt-thread stuido软件安装位置下,以本机为参考“D:RT-ThreadStudiorepoExtractDebugger_Support_PackagesRealThreadPyOCD�.1.3packs”。复制粘贴之后,返回上一级目录“D:RT-ThreadStudiorepoExtractDebugger_Support_PackagesRealThreadPyOCD�.1.3”,修改文件“pyocd.yaml”,以记事本方式打开,添加“ - ./packs/ARM.Musca_A1_BSP.2.0.0-small.pack”

Nations MCU Download Tool V1.2.4下载
需要按照用户手册文档,安装驱动
对应资料包中“.N32L40xxx_V2.1.0.zipN32L40xxx_V2.1.03-用户手册(UserManual)”

OLED屏

但出现获取设备名错误,希望路过的小伙伴可以帮忙解决一下!

三、功能硬件接口

引脚定义
I2C1_SCL:PA4
I2C1_SDA:PA5

OLED屏

DAP下载连接
JTMS —> PA13
JTCK —> PA14
RST —> RST

OLED屏

四、使用说明

打开rt-thread settings,选择添加软件包

OLED屏

搜索软件包,u8g2,选择中间的组件进行添加

OLED屏

添加后,右击,选择配置项

OLED屏

添加保存后,进行编译,若无问题,则进行下一步。

五、模块功能的演示

OLED屏

六、代码讲解及链接

工程链接

#include
#include
#include
#include
#define OLED_I2C_PIN_SCL 4 // PA4
#define OLED_I2C_PIN_SDA 5 // PA5
static void u8g2_ssd1306_12864_sw_i2c_example(int argc,char argv[])
{
u8g2_t u8g2;
// Initialization
u8g2_Setup_ssd1306_i2c_128x64_noname_f( &u8g2, U8G2_R0, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_I2C_CLOCK, OLED_I2C_PIN_SCL);
u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_I2C_DATA, OLED_I2C_PIN_SDA);
u8g2_InitDisplay(&u8g2);
u8g2_SetPowerSave(&u8g2, 0);
// Draw Graphics
/
full buffer example, setup procedure ends in _f */
u8g2_ClearBuffer(&u8g2);
u8g2_SetFont(&u8g2, u8g2_font_ncenB08_tr);
u8g2_DrawStr(&u8g2, 1, 18, "U8g2 on RT-Thread");
u8g2_SendBuffer(&u8g2);
u8g2_SetFont(&u8g2, u8g2_font_unifont_t_symbols);
u8g2_DrawGlyph(&u8g2, 112, 56, 0x2603 );
u8g2_SendBuffer(&u8g2);
}
//MSH_CMD_EXPORT(u8g2_ssd1306_12864_sw_i2c_example, i2c ssd1306 software i2c sample);
INIT_APP_EXPORT(u8g2_ssd1306_12864_sw_i2c_example);
使用INIT_APP_EXPORT();函数,对示例函数进行上机初始化,进行工作。

七、心得体会

RT-Thread studio对于外设接口的开发起到了方便作用,以及在线软件包的使用和图形化界面配置,极大的缩短了开发周期。对于I2C的理解与开发有了一定的理解。该芯片N32L40XCL对于I2C的设备模拟支持。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分