- 博客(23)
- 收藏
- 关注
原创 RT-THREAD RTC组件中Alarm功能驱动完善
使用Rt-Thread的目的为了更快的搭载工程,使用Rt-Thread丰富的组件和第三方包资源,解耦硬件,在更换芯片时可以移植应用层代码。你是要RTT的目的什么呢?
2025-05-09 15:47:21
1086
原创 rtthread 设备组件驱动分析
rtthread的设备组件是rtthread的一大特色。对于设备组件的底层运行原理,今天我们来具体分析一下。设备可以是MCU的硬件外设,或者抽象出来的设备(比如基于串口通信的AT设备,基于定时器的软件模拟RTC设备等)。设备运行前肯定要有这个设备,所以本文通过ST芯片工程的USART设备驱动,从注册设备和使用设备两个方面来分析。
2025-04-28 09:38:53
731
原创 STM32CubeMX(一):HSE外部高速时钟晶振配置
由于有源晶振本身就是个完整的振荡器件,其时钟输出不依赖于外部器件振荡电路,只需要供给适当的电源就能输出时钟,无须额外的振荡驱动匹配电路。HSE旁路模式,是指使用外部晶振时,无需芯片内部时钟驱动组件来辅助,直接从外界导入时钟信号,好像芯片内部的RC振荡器功能被旁路了。有源晶振顾名思义,需要外部供电,由一个引脚输出固定频率波形。一般来说我们都是选择Crystal/Ceramic Resonator:外部无源晶振(陶瓷晶振)BYPASS Clock Resource:外部有源晶振(旁路时钟源)
2025-03-30 11:56:31
737
原创 RT-Thread Studio DAP-Link下载失败
今天使用RT-Thread Studio烧录程序。发现有偶发性烧录失败问题,使用DAP-Link下载STM32L475RCT6,通过控制台烧录打印。最后经过排查对比,排查下来可能是DAP-Link的下载速度太快导致的。所以本篇文章就记录下RT-Thread Studio如何修改下载速度。发现是与PC与MCU之间通信发生错误,反初始化时出现异常行为。遇到过相同问题的朋友们可以参考一下。
2025-03-15 10:38:26
326
原创 不同版本DDR的区别
随着技术的进步,每代DDR的传输速率通常比前一代更高,这意味着每秒钟可以传输更多的数据。随着新技术的成熟和普及,每一代DDR内存的成本通常会随时间降低。较新的DDR内存可能在初期推出时成本较高,但随着市场需求的增加和生产成本的降低,价格会逐渐下降。随着技术的进步,每一代DDR内存可以实现更高的存储密度和容量。这意味着同样的物理空间内可以容纳更多的内存,或者单个内存条可以提供更大的存储容量。总体而言,每一代DDR内存都致力于提供更高的性能、更低的功耗和更大的容量,以适应不断增长的计算需求和应用场景。
2025-02-18 12:00:46
231
原创 本地部署deepseek,不使用ollama,使用引擎vLLM和SGLang启动
今天突然得到消息,DeepSeek大模型安装部署所需的O1lama框架存在远程代码执行漏洞!一觉醒来天塌了那么如何不使用ollama纯手工部署deepseek呢?
2025-02-18 11:56:21
2546
2
原创 常见线程间通信的方式;
需要使用同步机制(如互斥锁、信号量)来保证数据的一致性和避免竞态条件(两个或多个进程或线程并发执行时,其最终结果依赖于执行的精确时序)。线程通过信号量来获取资源的许可,访问完后释放资源,这样可以有效避免资源的竞争和冲突。一个线程可以在条件满足时通知另一个线程,条件变量用于等待和通知线程状态的改变。套接字通常用于不同计算机或同一计算机的不同进程之间的通信,但也可以用于线程间通信,特别是在分布式系统中。在一些文件系统中,文件锁可以用来实现进程或线程间的同步和通信,通过对文件的锁定来实现互斥访问。
2025-02-08 17:01:19
277
原创 接口SWD和JTAG
(IEEE代表电气与电子工程师协会,是一个国际组织,其中发布了所有标准,如WiFi,蓝牙等)。另外,由于它是ARM专门为在其设备中使用而制造的,因此SWD的性能通常是同类产品中最好的!下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备)理解的语言(例如SWD或JTAG协议)的设备,加载代码并精确控制执行。SWD:Serial Wire Debug,代表串行线调试,是ARM设计的协议,用于对其微控制器进行编程和调试。TDO:Test Data Out,串行输出引脚。
2025-02-08 16:59:56
302
原创 使用RTTHREAD studio IDE在外部Flash挂载文件系统
使用RTTHREAD studio IDE在外部Flash挂载文件系统,需要先配置SPI驱动和SFUD组件,然后在driver.h初始化SPI设备,接着挂载虚拟文件设备,最后启用虚拟文件系统和FAT32文件系统,完成挂载后即可使用文件操作函数。
2024-12-13 10:14:02
1240
原创 IAR,SDK ,BSP,IDE区分
它是介于主板硬件和操作系统之间的一层,属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板。这是一个覆盖面相当广泛的名词,辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。综上所述,IAR、SDK、BSP、IDE在软件开发中各自扮演着重要的角色,它们共同支持着软件开发的各个环节,从工具提供、功能实现到代码编写、测试和调试等。举例:许多全球著名的公司都在使用IAR提供的开发工具,用以开发他们的前沿产品,如消费电子、工业控制、汽车应用、医疗、航空航天以及手机应用系统等。
2024-12-10 17:34:22
524
原创 CPU、MPU、MCU、GPU、NPU、TPU等概念
本文简略整理了CPU、MPU、MCU、GPU、NPU、TPU等概念,方便区分这些处理器的相关术语,拓展自己在计算机行业的知识面
2024-11-28 08:51:50
2141
原创 字符指针的使用
所以while(*p2++ = *p1++)是先进行了*p2 = *p1运算,然后又进行了p2++和 p1++运算。所以*p2++就可以拆分成*p2和p2++,p2++有相当于p2=p2+1因此会导致指针p2发生改变,今天分享一个字符指针运算实例,希望大家能对字符指针有进一步的了解。主要分析while(*p2++ = *p1++)这一句。*和自加运算符++优先级相同,所以按照从右到左进行运算。所以打印的值为字符串停止符‘0’
2024-10-09 11:40:33
269
原创 RT-Thread studio功能开发--USB挂载U盘
第一步让我们打开驱动框架支持,这部分我们已经完成了,已经打开的FATFS框架和DFS已经是了。第二步我们在board.c中打开这个宏第三步和第四步我们要使用STM32CubeMX来进行代码配置(本质上还是使用HAL库进行配置)来生成所需函数。
2024-09-13 08:15:52
965
原创 ML302通过MQTT连接onenet(三)通过AT指令设备订阅上传及下发数据
串口助手:Xcom通过百度网盘分享的文件:XCOMckts.zip链接:https://pan.baidu.com/s/1mxyF6A6m1D5Gs6LEAGJ0vg提取码:29ak使用串口助手发送AT+MQTTSTAT?查询MQTT连接状态,返回值为1表示onenet的连接正常。接下来便可以进行正常进行onenet设备的订阅和命令的上传下发。首先我们要知道系统命令topic。
2024-08-21 08:47:51
1262
4
原创 ML302通过MQTT连接onenet(二)onenet注册设备
完成后,可以通过 Subscribe可以接收到平台下发的上传结果通知,若通过.../accepted topic接收到消息,则表明平台处理消息成功。击配置文件选择箭头,选择配置MQTT相应项目,点击conncent,此时,设备在页面处于在线状态。**注意topic 命名规则,在不同的位置,命名规则不同,详情查阅官方文档,再次只做简单生声明。上传数据成功后,点击「设备管理」,找到前面创建的设备,点击「详情」,查看设备上报的数据流内容。点击左侧设备接入管理-》设备管理:查看设备名称/ID。
2024-08-20 09:47:43
804
原创 ML302通过MQTT连接onenet(一)ML302配网
前置条件:SIM卡可以正常工作,通过串口与ML302模块可以正常通信(通过串口发送AT有OK应答)进行MQTT的连接呢主要分为两步第一通过AT指令配置本地网络,以及MQTT连接信息。第二呢则是通过onenet注册平台以及设备,并且生成鉴权信息。
2024-08-18 10:26:00
1272
原创 RT-THREAD报CPU Exception: NO.5错误
在RTT(RT-Thread)中,特权违反,回顾之前写的代码,发现是自己在应用层注册了spi设备,编译虽然通过了,但是在进行打印调试的时候,导致运行失败。在rt-thread的cpu架构里,不同的cpu异常会有不同的异常号,我们往往需要通过异常号来判断可能出现的问题。首先要知道从打印上来看这个错误是属于cpu错误。通过修改,发现果然是这个原因。今天分享一个在调用RTT设备时遇到的错误。从这可以看出这个异常为特权违反。断点异常,地址观测异常。
2023-12-28 17:53:16
1010
9
原创 软件KEIL串口应用-- printf调试
软件KEIL串口应用-- printf调试,首先从原理图判断单片机芯片与上位机(电脑)通信是通过那个串口,然后再配置对应的串口。KEIL5 里面实现printf的功能,需要修改一个函数。中断服务函数(标识符命名有点不规范,大家不要学习)在当前.c文件中包含这两个头文件。
2023-03-01 07:39:09
1973
原创 STM32F103XX的USART串口配置
STM32F103XX的USART串口配置,先从数据手册中查找同步/异步串口在对应的那个数据总线上(APB1和APB2)查看原理图,引脚分别对应串口的数据收发功能。设置IO口,配置对应的八种模式。
2023-03-01 07:28:19
1099
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人