Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Numaker-IoT-M487
【开发板评测】Nuvoton M487开发板USCI之UI2C
发布于 2022-04-12 16:18:30 浏览:895
订阅该版
**1、新建工程** USCI除了可以当做UART/USART使用外,还可以用作IIC总线,其中USCI_CLK对应I2C的时钟线,USCI_DAT0对应I2C的数据线,在M487开发板中的USCI0和USCI1有以下引脚可以配置为UI2C的引脚 ![image.png](https://oss-club.rt-thread.org/uploads/20220412/970327ab48e189433c53a74f008262dc.png) ![image.png](https://oss-club.rt-thread.org/uploads/20220412/d5334934bf56ac264ac47577eb0d1cd9.png) 本次实验使用USCI1外设的UI2C功能,检查开发版有两组UI2C1引脚引出,分别为PB.1和PB.2、PB.7和PB.8,选择PB.1和PB.2这对引脚。 ![image.png](https://oss-club.rt-thread.org/uploads/20220412/3c362bdc228c45ed37c46fdf67ff8368.png.webp) 创建一个名为USCI_UI2C的rtthread项目,项目创建完成后打开“RT-Thread Settings”,点击右侧“<<”按钮,选择“硬件”,使能“USCI”,使能“USCI1”,在“Select USCI1 function mode”右侧的下拉框中选择“UI2C1”选项; ![image.png](https://oss-club.rt-thread.org/uploads/20220412/72c5b8134eb38a8108754487eb8980e2.png.webp) **2、添加引脚配置** 引脚选择完毕后,接下来我们要做ui2c1的底层引脚配置,打开nutool_pincfg.c(路径 board->NupinConfig->nutool_pincfg.c),添加以下代码 ``` void nutool_pincfg_init_usci1(void) { SYS->GPB_MFPL &= ~( SYS_GPB_MFPL_PB1MFP_Msk|SYS_GPB_MFPL_PB2MFP_Msk); SYS->GPB_MFPL |= (SYS_GPB_MFPL_PB1MFP_USCI1_CLK | SYS_GPB_MFPL_PB2MFP_USCI1_DAT0); return ; } void nutool_pincfg_deinit_usci1(void) { SYS->GPB_MFPL &= ~( SYS_GPB_MFPL_PB1MFP_Msk|SYS_GPB_MFPL_PB2MFP_Msk); return ; } ``` 将上面两个函数分别添加到nutool_pincfg_init和nutool_pincfg_deinit中。 **3、添加线程,挂载设备** 在application文件夹下面创建一个名为ui2c_test.c源文件,并添加以下代码 ``` #include "rtthread.h" #include "rtdevice.h" #include "NuMicro.h" rt_device_t ui2c_ops=RT_NULL; void uiic_thread_entry(void *arc) { rt_thread_delay(1000); rt_device_t ui2c_ops=rt_device_find("ui2c1"); if(ui2c_ops == RT_NULL) { rt_kprintf("not find device\r\n"); return ; } rt_kprintf("find device ui2c_ops\r\n"); rt_device_open(ui2c_ops, RT_DEVICE_FLAG_DMA_RX); while(1) { rt_thread_delay(1000); } } int run_uiic(void) { rt_thread_t tid = RT_NULL; tid = rt_thread_create("uiic_thd", uiic_thread_entry, RT_NULL, 2048, 10, 10); if (tid != RT_NULL) { rt_thread_startup(tid); } else { return RT_ERROR; } return RT_EOK; } INIT_APP_EXPORT(run_uiic); ``` **4、增加SHT30软件包,硬件连接** 打开“RT-Thread Settings”,点击“添加软件包”,进入子页面,在搜索栏输入“sht3x”,点击“添加”,“添加软件包到工程”;更新配置。 ![image.png](https://oss-club.rt-thread.org/uploads/20220412/6e0d111d6a2e3ca36cf323743772ebfd.png) 将sht30温湿度模块连接到开发板接线顺序如下: V3.3------>VCC GND------->GND SCL------->PB.1 SDA------->PB.2 **5、温湿度读取** 编译工程,下载。 复位开发板··· ![image.png](https://oss-club.rt-thread.org/uploads/20220412/0f837ff099fa6013cf2d2d0afc4eda56.png) 已经寻找到UI2C1,输入“list_device”,显示设备已挂载。 ![image.png](https://oss-club.rt-thread.org/uploads/20220412/5ee1a1dfd5f12bec9fb28fc2077b57f3.png) 输入“sht3x”,显示sht3x设备的操作命令 ![image.png](https://oss-club.rt-thread.org/uploads/20220412/987265870ac9e99d67e1d263ee9e2309.png) 输入“sht3x probe ui2c1”,将sht3x挂载到UI2C1总线上面,开发板回复“sht3x probed, addr:0x44”, ![image.png](https://oss-club.rt-thread.org/uploads/20220412/787103d593aab5db85a095fcd0a52232.png) 输入“sht3x read”命令,读取当前环境温湿度值 ![image.png](https://oss-club.rt-thread.org/uploads/20220412/3843fae6477049456104619fb2df37a3.png) 注:如果遇到UI2C超时情况,检查UI2C引脚是否配置。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
likang0519
这家伙很懒,什么也没写!
文章
5
回答
4
被采纳
0
关注TA
发私信
相关文章
1
调试nuvoton M487芯片,使用Nu_link 调试器出错。。
2
NUMAKER-IOT-M487开发板没有找到RTC电池接口
3
新唐m487板子使用LAN8720
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部