![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RT-Thread Nano
RiverFormSky
这个作者很懒,什么都没留下…
展开
-
【RT-Thread Nano】串口发送一帧数据被打断
现象描述使用RT-Thread Nano发送一帧串口数据的时候,发现有时候一帧完整的数据会被打断,导致出错。问题原因原因是串口发送数据函数是一个公共的函数,它可能被多个线程调用,也就说这个函数是共享资源。当这个函数执行到一半的时候,例如发送了一半数据的时候,如果发生了线程切换,就可能会造成数据帧被打断。解决方法可以使用互斥信号量解决此问题。在发送一帧数据之前,获取互斥信号量,永远等待,发送一帧数据完毕以后释放该信号量。这样可以保证在发送数据的时候,即使发生了线程切换,那个切换过去的线程也会因为信原创 2021-06-26 16:30:46 · 1752 阅读 · 0 评论 -
【RT-Thread Nano】hard fault on thread: tshell
背景和现象描述在根据官方文档移植RT-Thread Nano内核和FinSH到自己的开发板上,在创建线程的时候,发现错误:hard fault on thread: tshell,如下图所示。原因rtconfif.h配置文件下有一个宏定义:#define RT_THREAD_PRIORITY_MAX 8这个宏定义的意思应该是线程的最大优先级是8,而我创建线程的时候,使用的是官方的例程,使用的优先级是25,因此线程不能正常创建。#define THREAD_PRIORITY原创 2021-06-25 15:51:31 · 1835 阅读 · 0 评论 -
【RT-Thread Nano】大作业:语音生活小助手
作品背景需求1、有时候人住的楼层比较高,早上上班的时候经常会忘记将垃圾提下楼,一般下班回来已经很累了,根本不会想到再跑一趟去扔垃圾,但是垃圾不扔,就会放多一夜,各种惹蚊子。因此就想到了实现一个语音提示的生活助手。当我出门上班的时候,生活助手就会提醒我把垃圾提上。需求2、经常会忘记看天气预报,然后忘记带雨伞出门,结果到了半路发现会下雨,着很尴尬。因此这个生活助手会在我出门上班前,获取网络上的天气...原创 2020-04-18 23:55:29 · 1559 阅读 · 0 评论 -
【RT-Thread Nano】作业8:实现蓝牙串口通信功能
实验任务本实验为RT-Thread Nano 入门线上培训作业题目8:实现蓝牙串口通信功能。当手机端蓝牙调试助手发送:”LED1 Toggle”时,实现LED1灯闪烁;当手机端蓝牙调试助手发送:”LED2 Toggle”时,实现LED2灯闪烁;当手机端蓝牙调试助手发送:”LEDR/G/B BrightnessN”(其中最后一个字母N表示亮度等级,可取为1,2,3,4,5,数字越大,越亮)时...原创 2020-04-12 01:00:09 · 1699 阅读 · 0 评论 -
【RT-Thread Nano】作业6:通过ESP8266获取NTP服务器上的时间
实验任务本实验为RT-Thread Nano 入门线上培训作业题目6:实现RTC驱动,将NTP服务器中获取的网络时间更新至RTC。实验目的熟悉如何获取NTP服务器上的数据。实验环境1、硬件环境:野火STM32霸道开发板2、软件环境:RT-Thread Nano 3.1.3,MDK 5.25实验步骤1、编写ESP8266驱动和RTC驱动,这部分的工作,开发板的固件库例程和扩展模块例...原创 2020-04-11 22:07:24 · 874 阅读 · 0 评论 -
【RT-Thread Nano】作业3:实现按键长按、短按检测
实验任务本实验为RT-Thread Nano 入门线上培训作业题目3:利用按键实现某个动态线程创建和删除。实验目的熟悉RT-Thread动态线程的创建和删除。实验环境1、硬件环境:野火STM32霸道开发板2、软件环境:RT-Thread Nano 3.1.3,MDK 5.25实验步骤1、编写按键驱动程序。/*************************************...原创 2020-04-08 16:24:58 · 1975 阅读 · 0 评论 -
【RT-Thread Nano】作业7:通过ESP8266获取心知天气数据
实验任务作业题目7:实现在MSH命令行中,输入命令获取指定城市天气信息PS:作业6暂时没法完成了,哭死,手上的ESP8266模块无法进行UDP通信,TCP都是正常的,哈哈哈,还好作业7是通过TCP进行的,美滋滋。实验目的熟悉心知天气的获取方式,熟悉cJson的格式数据的解析。实验环境1、硬件环境:野火STM32霸道开发板2、软件环境:RT-Thread Nano 3.1.3,MDK ...原创 2020-04-07 23:57:31 · 1679 阅读 · 4 评论 -
【RT-Thread Nano】作业5:通过ESP8266将ADC电压值传至本地TCP服务器
实验任务作业题目5:ESP866连接网络成功之后,实现输入一个MSH命令,创建一个动态线程,在该线程回调函数中实现一分钟上传一次DS18B20温度数据至本地TCP服务器。PS:由于手上没有DS18B20,因此这里上传的数据改为ADC电压值。实验目的熟悉ESP8266的操作。熟悉将函数导出到MSH。实验环境1、硬件环境:野火STM32霸道开发板2、软件环境:RT-Thread Nano...原创 2020-04-05 23:09:01 · 1425 阅读 · 0 评论 -
【RT-Thread Nano】作业4:线程间同步,事件集的使用
实验任务利用线程间同步-事件集机制,实现当一个ADC通道采样值大于3V 或者另外一个ADC通道采样值小于0.5V时,实现报警功能。ADC通道自由选择。实验目的熟悉RT-Thread内核事件集的使用,熟悉STM32 ADC外设多通道采集的使用。实验环境1、硬件环境:野火STM32霸道开发板2、软件环境:RT-Thread Nano 3.1.3,MDK 5.25实验步骤1、查看开发板原...原创 2020-04-04 16:02:16 · 551 阅读 · 0 评论