- 博客(503)
- 资源 (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
1388
原创 【瑞萨RA8D1 CPK开发板】串口的使用和STDOUT输出重定向
本次串口的使用关于时钟导致串口的波特率不对,坑了我很久的时间使能时钟串口发现一个问题就是,只能使用下边的时钟配置,修改时钟源和分频系数都会导致串口波特率不正常,这种问题出现在mdk+rasc的使用场景之下;本人使用E2Studio的开发方式使用随便哪个时钟源串口的输出时钟都不存在问题,建议使用E2Studio开发方式。
2024-10-11 22:00:00
467
原创 【瑞萨RA8D1 CPK开发板】lcd显示
由于板子引出的接口限制,故使用gpio模拟spi驱动中景园的1.8寸lcd。屏蔽stm32先关头文件和gpio初始化。使用RASC 的gpio配置。根据厂家提供的驱动文件移植。
2024-10-11 22:00:00
359
原创 【瑞萨RA8D1 CPK开发板】环境搭建、资料下载,基础工程创建
CPKCOR-RA8D1B核心板 是瑞萨电子为中国市场设计的模块化开发板, 它使用了瑞萨电子(U1),RA8D1能够在480MHz 频率下实现超过3000 CoreMark 分数的突破性性能,可支持高分辨率显示和视觉AI应用的卓越图形功能。板卡支持MIPI-DSI显示输出接口。CPKCOR-RA8D1B板上除了实现RA8D1最小系统外,还搭载了实用的外设功能,包括:- 16位SDRAM(U2),32M字节容量- QSPI Flash(U3),16M字节容量。
2024-10-11 21:45:00
776
原创 fatfs API使用手册
配置/*---------------------------------------------------------------------------// Configurations of FatFs Module/---------------------------------------------------------------------------*/#define FFCONF_DEF 80286 /* Revision ID *//*--------------
2024-09-30 15:52:46
1072
原创 N32移植sd卡和fatfs 文件系统
FATFS 是一个完全免费开源的 FAT/exFAT 文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准 C 语言(ANSI C C89)编写,所以具有良好的硬件平台独立性,只需做简单的修改就可以移植到 8051、PIC、AVR、ARM、Z80、RX 等系列单片机上。它支持 FATl2、FATl6 和(这个格式电脑端直接可以访问),支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对 8 位单片机和 16 位单片机做了优化。文件说明。
2024-09-30 15:48:40
318
原创 N32G45x实现sdio接口读取sd卡+sd卡的IAP升级
本方案依赖1. sdio接口读取sd卡3. fatfs文件系统4. N32IAP升级教程1.sdio接口读取sd卡驱动来自官方的demo/***************************************************************************** * Copyright (c) 2019, Nations Technologies Inc. * * All rights reserved. * ************************
2024-09-30 15:34:31
48
原创 N32L40x基于串口的IAP升级升级速度2Mbps+上位机工具
/这里的0x50000就是bootloader使用的空间,APP分布于bootloader之后的空间。0xaa,0xaa 数据id2个字节(高位,低位),数据错误代码(1个字节), 数据*N 0xaa,0xaa。0xaa,0xaa 数据ID 2个字节(高位,低位) 数据*N 0xaa,0xaa ,异或检验。bootloader给他分配了20K=0x50000;这里实际使用了7K多。APP下发数据包结构;累计 2+2+N+2+1 个字节,此文件不需要修改,作为lib使用。在main函数入口添加。
2024-09-30 15:16:31
396
原创 arm mcu STM32跳转到系统厂家的dfu bootloader
【代码】arm mcu STM32跳转到系统厂家的dfu bootloader。
2024-09-28 22:47:20
144
原创 stm32 8080时序驱动lcd屏幕
经过测试探索者开发板使用模式A和模式B都可以驱动lcd驱动,主要是时序参数必须和lcd驱动芯片一致。fsmc相关的gpio配置位推挽复用模式。他这里使用的是FSMC的NOR 模式B。 2. 使用SRAM存储器模式。他们使用EXMC驱动外部lcd。 3. 16位数据宽。gpio,fsmc时钟使能。 2.数据建立时间。 2.数据建立时间。 3.使用模式A。 3.使用模式A。 4. 写使能。背光gpio输出配置。 1.地址建立时间。fsmc控制相关配置。
2024-09-01 09:00:47
422
原创 基于gd32f103移植fal Flash 抽象层
在头文件中需要实现接口: Flash 设备的名字,这个名字在定义分区表要使用。0x08000000: 对 Flash 操作的起始地址。1024*1024:Flash 的总大小(1MB)。128*1024:Flash 块/扇区大小(因为 STM32F2 各块大小不均匀,所以擦除粒度为最大块的大小:128K)。:Flash 的操作函数。如果没有 init 初始化过程,第一个操作函数位置可以置空。8。
2024-08-13 20:45:00
109
原创 Agile Modbus移植教程--基于GD32F103C8T6+RT-Thread+mdk5
Agile Modbus移植教程--基于GD32F103C8T6+RT-Thread+mdk5
2024-08-13 20:30:00
2301
原创 基于N32L406+FlashDB(键值数据库 时序数据库)+mdk5 移植教程
一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。FlashDB 不仅支持传统的基于文件系统的数据库模式,而且结合了 Flash 的特性,具有较强的性能及可靠性。并在保证极低的资源占用前提下,尽可能延长 Flash 使用寿命FlashDB 提供两种数据库模式:- **键值数据库** :是一种非关系数据库,它将数据存储为键值(Key-Value)对集合,其中键作为唯一标识符。KVDB 操作简洁,可扩展性强。- **时序数据库** :时间序列数据库 (Time Series Databa
2024-08-01 19:45:00
1229
原创 基于N32L406MB EasyFlash参数(key-value)记录库移植
是一款开源的轻量级嵌入式Flash存储器库,方便开发者更加轻松的实现基于Flash存储器的常见应用开发EasyFlash不仅能够实现对产品的或等信息的掉电保存功能,还封装了简洁的方法, 降低了开发者对产品参数的处理难度,也保证了产品在后期升级时拥有更好的扩展性。。该库封装了IAP(In-Application Programming)功能常用的接口,支持CRC32校验,。
2024-07-31 22:00:00
861
原创 基于N32L406+Freertos+letter_shell终端开源库移植
是一个C语言编写的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数相对2.x版本,letter shell 3.x增加了用户管理,权限管理,以及对文件系统的初步支持此外3.x版本修改了命令格式和定义,2.x版本的工程需要经过简单的修改才能完成迁移若只需要使用基础功能,可以使用版本使用说明可参考Letter shell 3.0 全新出发如果从3.0版本迁移到3.1以上版本,请注意3.1版本对读写函数原型的修改。
2024-07-31 21:30:00
868
原创 N32L406 移植MultiTimer教程 mdk5
MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更优雅更便捷地管理程序的时间触发时序。
2024-07-30 19:00:00
705
原创 N32L406x+MultiButton+Mdk5移植教程
MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。
2024-07-30 14:33:05
833
原创 基于N32L40x CmBacktrace mdk5平台下的移植测试
CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库
2024-07-30 09:50:57
1233
原创 littlefs文件系统的移植和测试
由ARM官方发布,ARM mbedOS的官方推荐文件系统,具有轻量级,掉电安全的特性。主要用在微控制器和flash上,在写入时即使复位或者掉电也可以恢复到上一个正确的状态。,有效延长flash的使用寿命。例如W25QXX系列的spi接口的flash,擦写次数大概在10万次,如果是操作flash比较频繁那么这10万次很快就会到达上限从而导致芯片废掉。,相对于FATFS节省ROM和RAM空间缺点:不兼容windows。LFS_NO_MALLOC:决定使用动态内存还是静态内存,这个宏可以不定义。
2024-07-26 00:22:40
973
原创 OrangePi AIpro 快速上手初体验
1CPU配备了4核64位ARM处理器,其中默认预留1个给AI处理器使用NPU集成了华为昇腾310BAI处理器,拥有4TFOPS的FP16算力核8TOPS的INT8算力内存标配LPDDR4X的规格,有8G核16G两种配置可供选择存储板载32MB的SPI Flash,内置1个Micro SD卡槽、1个eMMC插座、M.2插槽(2280规格)以太网板载10/100/1000Mbps自适应RJ45口无线通讯2.4+5双频WIFI核BT4.2USB。
2024-07-21 10:12:11
963
原创 基于N32L40x+w25q16+sfud nor flash开源库移植
此时,只要在定义 Flash 设备时,指定好 Flash 参数,之后再调用。
2024-07-04 17:18:14
102
原创 N32G45x基于串口IAP实现(含升级工具)
上位机发: 0xaa,0xaa 数据id2个字节(高位,低位), 数据*N 0xaa,0xaa ,异或检验。0xaa,0xaa 数据id2个字节(高位,低位), 数据*N 0xaa,0xaa ,异或检验。格式 2个0xaa 0xaa 开头+收到数据id+2个 0xaa 0xaa 结束。4个0xaa 0xaa 0xaa 0xaa 让mcu进入升级状态。在main函数入口就要立即设置,避免中断产生导致hardfault。累计 2+2+N+2+1 个字节,设置app程序的内存空间。需要设置中断偏移地址。
2024-06-22 22:47:38
525
原创 msp430栈空间分析,栈移除位置分析
2. 这里又有可能不会移除,移植栈是向下生长的,如果向下有足够的没有使用的空间,也就不会导致程序崩溃,毕竟他不会破坏有用的数据空间,如下图所示,栈空间特别足,不会使用到全局或静态变量的空间。DATA16_N:静态和全局未初始化变量(_ _no_init _ _data16 static and global variables)2538:占用RAM的大小(DATA16_I,DATA16_Z,DATA16_N,TLS16_I,DATA16,CSTACK)23382:绝对地址常量大小(DATA16_AC)
2024-05-22 00:12:47
1055
原创 沁恒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
313
原创 沁恒CH32V30X学习笔记10---pwm输出
PWM 输出模式是定时器的基本功能之一。PWM 输出模式最常见的是,使用捕获。将 OCxM 域中置 110b 或者 111b 使用,置 OCxPE 位,最后置 ARPE 位使能预装载寄存器的。在发生一个更新事件时,预装载寄存器的值才能被送到影子寄存器,所以在核心计数器开始计数之前,需要置 UG 位来初始化所有寄存器。在 PWM 模式下,核心计数器和比较捕获寄存器一直在进行比较,根据 CMS 位,定时器能够输出边沿对齐或者中央对齐的 PWM 信号。
2024-02-19 21:43:54
409
原创 沁恒CH32V30X学习笔记09---使用TIM 外部时钟1模式实现硬件计数
定时器时钟通过框图可知;外部时钟1模式下仅仅只有通道1 和通道2 可以输入脉冲。
2024-02-19 19:46:05
228
原创 沁恒CH32V30X学习笔记08---基本定时器超时功能
模块包含一个功能强大的 16 位自动重装定时器(TIM1、TIM8、TIM9 和 TIM10)模块包含一个 16 位可自动重装的定时器(TIM2、TIM3、TIM4 和 TIM5)模块包含一个 16 位可自动重装的定时器(TIM6 和 TIM7)
2024-02-19 13:54:57
292
原创 沁恒CH32V30X学习笔记07---多功能按键框架使用
MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块,可无限量扩展按键,按键事件的回调异步处理方式可以简化你的程序结构,去除冗余的按键处理硬编码,让你的按键业务逻辑更清晰。
2024-02-19 12:08:05
204
原创 沁恒CH32V30X学习笔记06---串口dma接收+空闲中断组合接收数据
沁恒CH32V30X学习笔记06---串口dma接收+空闲中断组合接收数据
2024-02-18 19:58:21
410
原创 沁恒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
541
原创 沁恒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
497
原创 沁恒CH32V30X学习笔记03--64位systick
Cortex-M3 内核自带了一个 24 位自减型计数器(SysTick timer)。支持 HCLK 或 HCLK/8 作为时基,具有较高优先级别(6)。一般可用于操作系统的时基。内核自带了一个,具有较高优先级,校准后可用于时间基准这是一个坑,编译器优化了tick变量。
2024-02-18 19:36:42
339
原创 沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动
刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在状态所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,,两方都是一对一的关系。复用功能。
2024-02-18 19:32:15
450
fal移植测试demo
2024-08-13
基于N32L406+FlashDB(时序数据库 时序数据库)+mdk5 移植教程
2024-08-01
基于N32L406MB EasyFlash参数(key-value)记录库移植
2024-07-31
N32L40x letter-shell终端裸机移植
2024-07-31
基于N32L406 Freertos letter-shell开源终端移植
2024-07-31
N32L406 移植MultiTimer教程 mdk5
2024-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1