自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Car12

主要从事Visual C++开发,Linux开发,STM32

  • 博客(477)
  • 资源 (46)
  • 收藏
  • 关注

原创 stm32f103RCT 使用ssd1306 IIC 接口 移植lkdGUI

ldkGUI关于lkdGUI的信息参考:https://blog.csdn.net/qq_23274715/article/details/80959804已经移植好的程序源码和测试代码:https://gitee.com/chejia12/lkd-gui移植ldkGUI参考官方给的参考文档手把手教你移植创建stm32f103rct6 mdk工程添加OLED驱动添加OLED sd1306库函数,添加OLED分组添加驱动源文件,添加驱动头文件,字体文件参考:https://blo

2021-11-26 19:00:05 1175

原创 N32L40x基于串口IAP实现(含升级工具)

2个核心的bootloader函数。

2024-03-10 17:35:59 211

原创 沁恒CH32V30X学习笔记11---使用外部时钟模式2采集脉冲计数

使用外部触发模式 2 能在外部时钟引脚输入的每一个上升沿或下降沿计数。将 ECE 位置位时,将使用外部时钟源模式 2。使用外部时钟源模式 2 时,ETRF 被选定为 CK_PSC。ETR 引脚经过可选的(ETPS)后成为 ETRP,再经过(ETF)后即成为 ETRF。在 ECE 位置位且将 SMS 设为 111b 时,那么,相当于 TS 选择 ETRF 为输入。

2024-02-19 22:34:43 203

原创 沁恒CH32V30X学习笔记10---pwm输出

PWM 输出模式是定时器的基本功能之一。PWM 输出模式最常见的是,使用捕获。将 OCxM 域中置 110b 或者 111b 使用,置 OCxPE 位,最后置 ARPE 位使能预装载寄存器的。在发生一个更新事件时,预装载寄存器的值才能被送到影子寄存器,所以在核心计数器开始计数之前,需要置 UG 位来初始化所有寄存器。在 PWM 模式下,核心计数器和比较捕获寄存器一直在进行比较,根据 CMS 位,定时器能够输出边沿对齐或者中央对齐的 PWM 信号。

2024-02-19 21:43:54 207

原创 沁恒CH32V30X学习笔记09---使用TIM 外部时钟1模式实现硬件计数

定时器时钟通过框图可知;外部时钟1模式下仅仅只有通道1 和通道2 可以输入脉冲。

2024-02-19 19:46:05 126

原创 沁恒CH32V30X学习笔记08---基本定时器超时功能

模块包含一个功能强大的 16 位自动重装定时器(TIM1、TIM8、TIM9 和 TIM10)模块包含一个 16 位可自动重装的定时器(TIM2、TIM3、TIM4 和 TIM5)模块包含一个 16 位可自动重装的定时器(TIM6 和 TIM7)

2024-02-19 13:54:57 133

原创 沁恒CH32V30X学习笔记07---多功能按键框架使用

MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。

2024-02-19 12:08:05 98

原创 沁恒CH32V30X学习笔记06---串口dma接收+空闲中断组合接收数据

沁恒CH32V30X学习笔记06---串口dma接收+空闲中断组合接收数据

2024-02-18 19:58:21 203

原创 沁恒CH32V30X学习笔记05--串口接收中断和空闲中断组合接收数据

沁恒CH32V30X学习笔记05--串口接收中断和空闲中断组合接收数据

2024-02-18 19:54:11 159

原创 沁恒CH32V30X学习笔记00--芯片概述

3 组通用同步/异步串口收发器(USART1、USART2、USART3),以及 5 组通用异步收发器(UART4、UART5、UART6、UART7、UART8)。USB2.0 高速控制器具有主机控制器和设备控制器双重角色,内置 480Mbps 的 USB-PHY 物理层收发。产品内置 2 个 12 位电压输出数字/模拟转换器(DAC),转换 2 路数字信号为 2 路模拟电压信号并。内置 2 个 12 位的模拟/数字转换器(ADC),共用多达 16 个外部通道和 2 个内部通道采样。

2024-02-18 19:49:20 250

原创 沁恒CH32V30X学习笔记04--外部中断

CH32V2x 和 CH32V3x 系列内置可编程快速中断控制器(PFIC– Programmable Fast Interrupt Controller),最多支持 255 个中断向量。当前系88个外设中断,每个中断请求都有独立的,有专用的可编程多级,最大嵌套深度8级,硬件压栈深度3级特有快速中断进出机制,硬件自动压栈和恢复,无需指令开销特有免表VTF(Vector Table Free)中断响应机制,使用步骤:1) 配置 GPIO 操作;CH32FV2x_V3x 应用手册。

2024-02-18 19:40:09 286

原创 沁恒CH32V30X学习笔记03--64位systick

Cortex-M3 内核自带了一个 24 位自减型计数器(SysTick timer)。支持 HCLK 或 HCLK/8 作为时基,具有较高优先级别(6)。一般可用于操作系统的时基。内核自带了一个,具有较高优先级,校准后可用于时间基准这是一个坑,编译器优化了tick变量。

2024-02-18 19:36:42 212

原创 沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动

刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在状态所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,,两方都是一对一的关系。复用功能。

2024-02-18 19:32:15 278

原创 沁恒CH32V30X学习笔记01--创建工程

环境搭建和工程创建

2024-02-18 18:55:25 255

原创 RTT使用遇见的坑

栈线程的栈溢出:bus fault:解决办法:

2024-01-18 20:59:18 61

原创 基于gd32f103移植freemodbus master 主栈

1.移植freemodbus master需要先移植RT-Thread操作系统2.移植freemodbus master协议栈在移植了RTT以后,我们需要移植就只有串口相关的函数移植freemodbus master协议栈具体步骤。

2024-01-18 13:51:20 277

原创 GD32F103C8T6移植 RTT Nano 教程

函数内部调用 rt_os_tick_callback();

2024-01-17 09:48:39 77

原创 基于GD32F103使用串口不同的中断实现freemodbus移植

中断 还是需要修改mbfunccoils.c,mbfuncdisc.c,mbfuncholding.c,mbfuncinput.c文件;中断中断需要手动发送一次数据,即需要修改mbrtu.c文件的eMBRTUSend()函数。不需要修改修改mbrtu.c文件的eMBRTUSend()函数。使用串口不同的中断实现freemodbus移植。需要修改串口使能接口函数。需要修改串口中断函数。

2024-01-16 21:12:15 77

原创 基于GD32F103移植freemodbus从机库

首先说明github下载的freemodbus开源库不可以使用,需要修改。

2024-01-16 14:52:13 102

原创 基于AT32F421的freemodbus 移植

从github下载的开源库需要修改才可以使用,不可以直接使用modbus 指令。

2024-01-15 16:52:33 81

原创 韦东山老师的从0写RTOS笔记

生产bin文件生产汇编文件。

2023-11-12 10:04:39 354

原创 【RTT驱动框架分析】-硬件定时器应用笔记和源码分析

硬件定时器应用笔记和源码分析

2023-10-26 20:03:15 350

原创 【RTT驱动框架分析】- 队列DataQueue源码分析

RTT内部队列数据结构的API和数据结构

2023-10-26 19:59:54 160

原创 唐老师讲电赛

dc-dc电源布局要点。

2023-10-10 23:04:28 2353

原创 【RTT驱动框架分析07】- adc驱动框架分析+adc中断唤醒adc驱动

实现了adc注册功能,在注册函数内部初始化io口,时钟,adc使能标定实现了adc的单通道采集功能即 convert 函数实现使能函数没有做什么工作,仅仅做了个通道的有效性判定。

2023-08-15 22:44:05 363

原创 【RTT驱动框架分析06】-pwn驱动框架分析+pwm驱动实现

因为有的芯片的PWM是具有互补输出功能的,即PWM的某一个通道是可以靠两个引脚来发出一对互补的波形。PWM 的输出频率由周期时间 period 决定,例如周期时间为 0.5ms (毫秒),则 period 值为 500000ns(纳秒),输出频率为 2KHz,占空比为 pulse / period,pulse 值不能超过 period。,第一个参数为命令,第二个参数为 PWM 设备名称,第 3 个参数为 PWM 通道,第 4 个参数为周期(单位纳秒),第 5 个参数为脉冲宽度(单位纳秒)。

2023-08-10 21:55:07 355

原创 【N32L40X】学习笔记14-在RT-thread系统中读取eeprom数据

编写eeprom测试源码。

2023-08-06 19:21:51 679

原创 【N32L40X】学习笔记13-软件IIC读写EEPROM AT24C02

8个字节每页,累计32个页通讯频率MAX = 400KAT24C02大小 2K对于at24c02 A2A1A0 这三个引脚没有使用由于设备在写周期中不会产生ACK恢复,因此这可用于确定周期何时完成(此特性可用于最大限度地提高总线吞吐量)。一旦从主服务器发出了写命令的停止条件,设备就会启动内部定时的写周期,然后就可以立即启动ACK轮询。这涉及到主服务器发送一个开始条件,然后是一个写命令的控制字节(R/W =0)。,然后主命令可以继续下一个读或写命令。该操作的流程图见图5-1。

2023-08-05 22:58:51 477

原创 RTT学习笔记12-KConfig 语法学习

KConfig 语法学习RTT 官方教程。

2023-08-04 23:25:59 420

原创 【RTT驱动框架分析05】-spi驱动框架分析

获取到 SPI 设备句柄就可以使用 SPI 设备管理接口访问 SPI 设备器件,进行数据收发。参数描述deviceSPI 设备句柄message消息指针返回——RT_NULL成功发送非空指针发送失败,返回指向剩余未发送的 message 的指针此函数可以传输一连串消息,用户可以自定义每个待传输的 message 结构体各参数的数值,从而可以很方便的控制数据传输方式。/* 发送缓冲区指针 */ void * recv_buf;/* 接收缓冲区指针 */ rt_size_t length;

2023-08-02 22:24:18 278

原创 RTT应用编程_iic应用编程

和 SPI 总线的自定义传输接口一样,I2C 总线的自定义传输接口传输的数据也是以一个消息为单位。参数 msgs[] 指向待传输的消息数组,用户可以自定义每条消息的内容,实现 I2C 总线所支持的 2 种不同的数据传输模式。在使用 I2C 总线设备前需要根据 I2C 总线设备名称获取设备句柄,进而才可以操作 I2C 总线设备,查找设备函数如下所示,以下两个读写函数封装自 rt_i2c_transfer() 函数,用于读写I2C从设备的数据,更加简单易用,推荐使用。获取到 I2C 总线设备句柄就可以使用。

2023-08-02 22:06:46 330

原创 【RTT驱动框架分析04】-I2C驱动框架分析 at24cxx

和 SPI 总线的自定义传输接口一样,I2C 总线的自定义传输接口传输的数据也是以一个消息为单位。参数 msgs[] 指向待传输的消息数组,用户可以自定义每条消息的内容,实现 I2C 总线所支持的 2 种不同的数据传输模式。在使用 I2C 总线设备前需要根据 I2C 总线设备名称获取设备句柄,进而才可以操作 I2C 总线设备,查找设备函数如下所示,以下两个读写函数封装自 rt_i2c_transfer() 函数,用于读写I2C从设备的数据,更加简单易用,推荐使用。获取到 I2C 总线设备句柄就可以使用。

2023-08-02 22:03:57 355

原创 【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

sfus 是根据flash_table 数组内部提供信息初始化spi总线和初始化sfud_flash_chip (spi flash抽象结构)信息。由下面的信息可知,不同的spi flash擦除命令不一致,读写命令是一致的。修改flash设备列表和flash id。目前支持的spi flash的目标。main.c 文件添加如下内容。修改文件sfus_port.c。这里也是以后可以添加的。到此移植的基本条件满足。

2023-07-30 19:16:59 257

原创 【RTT驱动框架分析00】-应用层函数调用流程-串口为例

RTT内部有一个全局变量数组rt_object_container数组的数量就是 rt_object_info_type 内核对象的种类,其中包含一个RT_USING_DEVICE (设备的数据类型),数组内部的每一个变量包含一个链表,链表内部就构造了一个设备链表,rt_device_find函数就是在这个数组内部根据类型找到链表,然后在链表内部根据设备名字找到rt_device_t设备。

2023-07-29 17:20:29 292

原创 【RTT驱动框架分析02】-串口驱动分析

0x00000001。

2023-07-29 17:15:20 274

原创 【RTT驱动框架分析01】-pin/gpio驱动分析

绑定的实质就是给pin_irq_hdr_tab 内部的对象成员赋值操作。在rtconfig.h中可能涉及需要开启gpio时钟。内部实质就是设置中断分组和中断的触发模式中断优先级。主要是存储用户注册中断处理函数。

2023-07-29 17:12:31 255

原创 极海APM32F4xx Tiny】学习笔记08-RTT 链表使用方法

极海APM32F4xx Tiny】学习笔记08-RTT 链表使用方法1.双向链表基本结构2.节点初始化—2个方法3.在某一个节点后边插入一个节点4.在某一个节点前边插入一个节点5.移除一个节点6.判定链表是不是空就是判定是不是自己指向自己7.获取链表长度已知结构体内部一个成员的地址can_dev,根据机构体类型struct ra_can和成员名字can_dev 得到结构体实例对象can的地址8.获取结构体的入口地址9.遍历整个链表10.已知成员的地址遍历整个链表

2023-07-29 17:07:04 242

原创 【N32L40X】学习笔记12-规则组+注入组+外部触发启动

使用定时器触发规则通道开始采集数据,采集完成后使用dma传输数据,并启动注入通道转换数据,注入通道转换完成后产生中断,中断中读物注入通道数据。

2023-07-29 17:06:47 266

原创 【N32L40X】学习笔记11-ADC规则通道采集+dma数据传输

当 ADC 转换的值高于模拟看门狗的高阈值或低于模拟看门狗的低阈值时,如果 ADC_CTRL1.AWDGIEN 已配置,则模拟看门狗标志 (ADC_STS.AWDG) 将 被 置 为 1 , 此 时 会 产 生 中 断。就是讲一个规则组转换完成后,又进行下一轮转换,注入组不支持扫描模式。连续采集就是采集这个规则组或注入组。规则组:每次触发后转换 n 个通道。扫描模式就是一轮接着一轮的扫描,注入组:每次触发后转换 1个通道。单次采集就是每次采集一个通道。

2023-07-22 09:27:28 734

原创 【N32L40X】学习笔记10-外部触发方式计数

也就是外部时钟源模式2此模式由 TIMx_SMCTRL .EXCEN 选择等于 1。计数器可以在外部触发输入 ETR 的每个上升沿或下降沿计数。

2023-07-22 09:27:15 540

中景园1.08寸128x160屏幕移植lvgl

中景园1.08寸128x160屏幕移植lvgl

2024-04-14

移植中景园的1.8寸128x160 的lvgl代码

移植中景园的1.8寸128x160 的lvgl代码

2024-04-14

N32L40x基于串口IAP实现(含升级工具)

N32L40x基于串口IAP实现(含升级工具)

2024-03-10

沁恒CH32V30X学习笔记12-PWM输出

沁恒CH32V30X学习笔记12-PWM输出

2024-02-19

沁恒CH32V30X学习笔记11-使用外部时钟模式2采集脉冲计数

沁恒CH32V30X学习笔记11-使用外部时钟模式2采集脉冲计数

2024-02-19

沁恒CH32V30X学习笔记08-基本定时器超时功能

沁恒CH32V30X学习笔记08-基本定时器超时功能

2024-02-19

沁恒CH32V30X学习笔记09-使用TIM 外部时钟1模式实现硬件计数

沁恒CH32V30X学习笔记09-使用TIM 外部时钟1模式实现硬件计数

2024-02-19

沁恒CH32V30X学习笔记08-基本定时器超时功能

沁恒CH32V30X学习笔记08-基本定时器超时功能

2024-02-19

沁恒CH32V30X学习笔记07-多功能按键框架使用

沁恒CH32V30X学习笔记07-多功能按键框架使用

2024-02-19

沁恒CH32V30X学习笔记06-串口dma接收+空闲中断组合接收数据

沁恒CH32V30X学习笔记06-串口dma接收+空闲中断组合接收数据

2024-02-18

沁恒CH32V30X学习笔记05-串口接收中断和空闲中断组合接收数据

沁恒CH32V30X学习笔记05-串口接收中断和空闲中断组合接收数据

2024-02-18

沁恒CH32V30X学习笔记02-GPIO的使用教程及2次封装驱动

沁恒CH32V30X学习笔记02-GPIO的使用教程及2次封装驱动

2024-02-18

N32L40X学习笔记06-串口dma空闲中断+dma接收数据

N32L40X学习笔记06-串口dma空闲中断+dma接收数据

2024-01-24

N32L406MBL7_DMA_ILD_UART修订.zip

N32L406MBL7_DMA_ILD_UART修订

2024-01-24

N32G430学习笔记9-串口dma方式收发数据+printf的代码版本

N32G430学习笔记9-串口dma方式收发数据+printf的代码版本

2024-01-23

基于gd32f103移植freemodbus master 主栈

基于gd32f103移植freemodbus master 主栈

2024-01-18

GD32F103C8T6移植 RTT Nano 教程

GD32F103C8T6移植 RTT Nano 教程

2024-01-17

基于GD32F103使用串口不同的中断实现freemodbus移植

基于GD32F103使用串口不同的中断实现freemodbus移植

2024-01-16

基于gd32f103c8t6移植的freemodbus工程

基于gd32f103c8t6移植的freemodbus工程

2024-01-16

基于AT32F421的freemodbus 移植

移植freemodbus示例代码

2024-01-15

韦东山老师的从0写RTOS笔记

韦东山老师的从0写RTOS笔记

2023-11-12

N32L406MB在RT-thread系统中读取eeprom数据

N32L406MB在RT-thread系统中读取eeprom数据

2023-08-06

【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

【RTT驱动框架分析03】- sfus flash 操作库的分析和基于STM32F103RCT6+CUBEMX的SFUS移植教程

2023-07-30

can通讯测试源码包,主要是过滤规则的测试源码

can通讯测试源码包,主要是过滤规则的测试源码

2023-04-05

N32G430的freertos模板工程

N32G430的freertos模板工程

2023-03-26

国民技术N32G430C8L7串口IAP 升级代码

国民技术N32G430C8L7串口IAP 升级代码

2022-10-06

基于国名技术N32+W5500的串口服务器实现

使用的mcu是N32G430C8L7 使用集成了硬件以太网协议栈芯片 W5500 这是一个4串口的串口服务器 目前内部是一个tcp server方式实现

2022-10-01

N32G430 模板工程

国民技术的N32G430 模板工程

2022-10-01

J-flash 软件,用于arm Cortex M 系列的固件下载和flash操作

J-flash 软件,用于arm Cortex M 系列的固件下载和flash操作

2022-07-09

GD32F103 IAP 升级源代码

GD32和stm32的内核都是一样的,又因为IAP升级主要涉及升级的路径之和内核先关,所以gd32和stm32升级IAP升级是一样的。 gd32f103c8t6 ROM 地址范围ROM 地址范围: 0x800 0000~0x800 FFFF 合计64K 扇区大小 1024Byte falsh 空间分配设置 boot loader 分配30K空间 flash 0x8000000-0x80077ff user bin 分配34k空间 flash 0x8007800-0x800ffff ### 2.bin程序

2022-04-17

Qt 自定义仪表盘.zip

参照飞扬青云编写的自定义仪表盘代码

2021-08-22

2020-8-12 加工V2.0Relay.zip

10路小型继电器,4路大型继电器,2层板

2021-08-18

STM32F103C8T6_UART_IDLE.zip

串口的空闲中断使用

2021-08-09

STM32F103C8T6_IIC.zip

可以检测单击、双击、连按

2021-08-07

09--0.96寸OLED显示屏STM32F407_I2C例程.zip

09--0.96寸OLED显示屏STM32F407_I2C例程

2021-08-04

修复了野火的bug,使用cubemx初始化代码 STM32F407ZGT6.zip

1、修复了野火的bug导致文件系统加载成功,读写文件失败; 2、使用了cubemx的代码初始化 3、使用Hal的代码发送数据,不直接操作寄存器 4、使用正点原子f407开发版,野火的代码,w25q128的芯片flash

2021-07-25

STM32F303ZET6 官方NUCLEO开发板原理图.pdf

官方原理图

2021-07-10

MFCApplication1.zip

MFC 获取其他窗口的Edit文本和单击Button

2021-07-06

pid算法模拟.xlsx

主要是用于理解PID 算法

2021-07-03

线程池方式的libevent-server.zip

1、监听是一个单独线程 2、然后是线程池管理每一个连接 3、时间2021-3-8提交

2021-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除