全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

N32L40XCL-STB开发板模块评测任务大挑战之UART

时间:2023-08-09 15:25

人气:

作者:admin

标签:   模块  开发 

导读:本文主要对通过RT-Thread Studio对国民技术开发板N32L40XCL-STB 进行UART外设配置,实现开发板串口功能。...

本文主要对通过RT-Thread Studio对国民技术开发板N32L40XCL-STB 进行UART外设配置,实现开发板串口功能。

1.开发前准备:
1.1开发环环境:RT-Thread Studio(官网下载)
1.2开发板:N32L40XCL-STB 开发板(板载调试器,也可使用常用的ST-link下载)
1.3环境配置:下载SDK支持包(这里其它测评任务已有详细的说明,不在赘述)

1.4国民技术产品资料下载FTP访问地址 选择对应型号资料下载

2.具体步骤

2.1 点击文件新建RT-Thread项目选择基于开发板,配置界面如下

1.jpg

初始化界面代码如下

#include
#include
#include
/* defined the LED3 pin: PB5 /
#define LED3_PIN GET_PIN(B, 5)
int main(void)
{
/
set LED3 pin mode to output */
rt_pin_mode(LED3_PIN, PIN_MODE_OUTPUT);
while (1)
{
rt_pin_write(LED3_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED3_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
}

UART具体操作函数:

1.jpg

2.2修改添加一下代码后编译下载:

#include
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include
#include
rt_device_t dev_usart1;
struct rt_semaphore sem;
rt_thread_t thread;
struct serial_configure u1_configs = RT_SERIAL_CONFIG_DEFAULT;
rt_err_t rx_callback(rt_device_t dev, rt_size_t size)
{
rt_sem_release(&sem);
return RT_EOK;
}
void serial_thread_entry(void *parameter)
{
char buffer;
while(1){
while(rt_device_read(dev_usart1, 0, &buffer, 1) != 1){
rt_sem_take(&sem, RT_WAITING_FOREVER);
}
rt_kprintf("%c",buffer);
}
}
int main(void)
{
rt_err_t ret = 0;
//查找设备
dev_usart1 = rt_device_find("uart1");
if(dev_usart1 == RT_NULL){
LOG_E("rt_device_find[uart1] failed...n");
// return -EINVAL;
}
//打开设备
ret = rt_device_open(dev_usart1, RT_DEVICE_OFLAG_RDWR|RT_DEVICE_FLAG_INT_RX);
if(ret < 0){
LOG_E("rt_device_open[uart1] failed...n");
return ret;
}
rt_device_control(dev_usart1, RT_DEVICE_CTRL_CONFIG, (void *)&u1_configs); //控制设备
rt_device_set_rx_indicate(dev_usart1, rx_callback); //设置回调函数
rt_sem_init(&sem,"rx_sem", 0, RT_IPC_FLAG_FIFO); //信号量初始化
thread = rt_thread_create("dev_usart1",serial_thread_entry , 0, 1024, 10, 5); //创建线程
rt_thread_startup(thread); //启动线程
rt_device_write(dev_usart1, 0, "rt-thread usart testrn", rt_strlen("rt-thread usart testrn")); //串口发送函数
return RT_EOK;
}

3.结果编译(使用RT-Thread Studio 自带串口终端工具查看结果)

1.jpg

心得体会:RT-Thread studio 提供了很多SDK支持包环境友好,之后还会用它和其它开发板做更多的尝试。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信