自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

freemote的博客

记录开发中的经验、问题、知识点

  • 博客(184)
  • 资源 (20)
  • 收藏
  • 关注

原创 ESP8266 Windows下开发环境搭建

ESP8266开发环境搭建

2023-09-20 17:39:55 416

原创 【迪文屏幕】开发资料

T5L DGUSII 应用开发指南202306.pdf》,这个文档上面,详细介绍了各种控件的使用方法。等,软件下载地址https://www.dwin.com.cn/download.html。论坛里面有好多demo、经验帖子,可以搜索学习,当然也可以提问题,官方人员会解答。论坛地址:http://inforum.dwin.com.cn:20080/界面设计工具,根据所选屏幕的系统选择对应的工具,一般屏幕的系统有。这个文档可以在官方论坛上找到,也可以直接在csdn上。

2023-09-07 09:00:00 489

原创 【迪文T5L屏幕二次开发】“增量调节(Incremental Adjustment)”控件的缺陷,以及代替方法

来判断,可以将键值设为0x0001,按下的时候,读到的键值就是0x0001,同时要在代码中将键值清零。:在开发中遇到一种情况:同一个参数,在某些情况下参数的最大值和最小值不一样,那么就不能使用。但是在一些应用场合,会存在“上限”和“下限”不是固定的情况,这种情况下,可以使用。设定了调节的最大值和最小值。这两个值是固定的,不能动态配置。控件代替,在代码中动态扫描,判断键值,然后改变数值。控件了,只能使用其他控件,本文提供一种思路,使用。这里需要在代码中读取。

2023-09-06 13:32:51 280

原创 迪文屏幕SD卡下载显示“SD Card Process... END!“,但是实际下载失败,解决办法

如下图,显示“SD Card Process…”,但是在重新上电后,屏幕没有更新成功。这里要注意一下下载文件的数量,也就是下图黄色框起来的地方,全是“000”。

2023-06-17 08:49:23 1088

原创 【迪文T5L屏幕二次开发】程序下载

迪文屏幕二次开发,程序下载

2023-03-17 08:15:00 1763 1

原创 【迪文T5L屏幕二次开发】C51环境搭建

迪文屏幕二次开发

2023-03-15 08:15:00 1149

原创 移植SFUD,驱动SPI FLASH ZD25WQ80

移植SFUD,万能SPI FLASH驱动

2022-12-30 08:41:24 1611

原创 聊聊首次使用航顺HK32F030C8T6的体验

hk32f030

2022-12-23 18:01:31 2195 1

原创 拆解一个居家隔离监测的无线门磁

NB-IoT门磁

2022-12-22 16:00:00 979

原创 国产加速度传感器QMA6100P

国产加速度传感器QMA6100P的使用方法

2022-11-12 10:32:00 6175 9

原创 【开源】使用HK32F030驱动ST7567 LCD

一问了解hk32f030驱动ST7567 12864 LCD

2022-11-11 17:38:57 3209 4

原创 Letter shell移植到AT32WB415

Letter shell移植到mcu,通过串口命令行与单片机交互

2022-08-25 19:55:28 386

原创 硬件SPI与软件模拟SPI速率对比

​1、前言本文使用AT32F425驱动RC522来测试SPI1的速率,关于RC522的详细代码操作可查帖子【GD32L233C-START评测】7、硬件SPI1驱动RC522。2、关于AT32F425的SPIAT32F425系列最多有3个spi,本文使用SPI1。3、SPI1的最大速率SPI1挂在APB2总线上,APB2总线的最大速率是96MHz;SPI的最大速率为fPCLK/2,即48Mhz。4、代码实现/*SPI1 : PA4/CS PA5/SCK

2022-07-26 13:40:01 6956 4

原创 N32L43x Flash读\写\擦除操作总结

N32L43x Flash读\写\擦除操作总结

2022-07-25 21:24:33 925

原创 【开源】硬件/软件i2c两种方式移植u8g2单色图形库驱动0.96吋OLED

1、前言关于0.96吋OLED的详细操作,可查看一文彻底了解SSD1306驱动0.96寸OLED,本文移植u8g2图形库来驱动0.96吋OLED。2、关于u8g2u8g2是单色显示库的第二个版本。支持lcd和oled,支持众多驱动芯片,比如SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, SSD1320, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1108, S

2022-04-27 17:41:05 3758 6

原创 I2C波形分析

本文使用逻辑分析仪,抓取I2C波形,进而分析I2C信号。空闲电平:SCL和SDA都是高电平;起始信号:SCL高电平的时候,SDA从高拉低;结束信号:SCL高电平的时候,SDA从低拉高;ACK信号:在第9个时钟的时候,SDA为低电平;NACK信号:在第9个时钟的时候,SDA为高电平;第一个数据对应的二进制是01110001,转换成十六进制刚好是0x71,也说明I2C是以MSB传输的。...

2022-04-22 20:24:41 7186

原创 串口波形分析

本文使用逻辑分析仪,抓取串口波形,进而分析串口数据。串口配置为115200波特率,8个数据位,1个停止位,无校验方式。字符1的波形如下图:从图中可以看到8个数据位,但是在第1位之前和第8位之后也是属于字符1的波形,第1位之前的是起始位,最后一位是停止位,即就是:起始位是低电平,停止位是高电平,起始位之前和停止位之后都是高电平,也就说明串口空闲的时候是高电平,图中数据位对应的二进制是10001100,而字符1对应的二进制是00110001,可以发现两者刚好是相反的,这也说明了串口传输的时

2022-04-15 17:40:19 3676

原创 【GD32L233C-START】15、RT-Thread事件集从中断唤醒任务

​1、基本思路在上节的基础上,新增一个任务,任务中获取事件集标志,如果没有获取到则任务挂起,获取到后清除事件标志,在外部中断服务函数中,当按键按下的时候发送事件标志。2、代码实现(1)初始化按键io口为外部中断void KeyInit(void){ rcu_periph_clock_enable(RCU_GPIOA); gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_0); /* enable the S

2022-03-09 14:46:26 571

原创 【GD32L233C-START】14、RT-Thread多线程、消息队列使用

1、基本思路三个线程,一个消息队列(大小是1,长度是12)线程1:LED 500ms闪烁一次;线程2:adc采样;线程3:oled显示;在线程2中,采样到数据后,通过消息队列发送到线程3,线程3收到消息后,更新oled显示。2、RT-Thread配置默认是没有使能消息队列的,需要使能消息队列;或3、代码实现(1)Led初始化及led线程static rt_thread_t led_thread = RT_NULL;void LedInit(void){ /* enable

2022-03-04 17:12:15 898

原创 【GD32L233C-START】13、RT-Thread移植到GD32L233

​1、安装RT-Thread keil Pack或者离线下载安装:https://www.rt-thread.org/download/mdk/RealThread.RT-Thread.3.1.5.pack2、在工程中勾选RTOS中的kernel 和 shell3、编译报错4、配置时钟#error “TODO 1: OS Tick Configuration.”// #error "TODO 1: OS Tick Configuration." SysTick_Confi

2022-03-01 19:30:40 1338 7

原创 【GD32L233C-START】12、IAP程序升级——基于YMODEM协议

关于IAP程序升级的要点和YMODEM协议,可以查看【开源】串口YMODEM实现IAP程序升级(附工程源码);本文在GD32L233CCT6上实现串口YMODEM升级。本文只演示实际升级过程:1、上电复位,选择操作2、升级程序3、读取mcu中的app部分flash注:这里从mcu读取了app所有空间的flash。工程代码:代码...

2022-02-26 15:17:59 1129

原创 【GD32L233C-START】11、GD32 ISP软件还不支持GD32L233

1、什么是ISPISP是In-System Program的缩写,即在系统编程。用户可以直接下载代码,而不用把mcu从pcb板上取下来。ISP需要mcu本身支持,ISP方式也比较适用于生产烧录。2、引导配置从上图可以看出,上电后要执行引导装载程序,要求Boot0高电平,Boot1低电平。3、接口GD32L233支持USART0、USART1、USBD三种接口。4、ISP软件GD32官方的GigaDevice MCU ISP Programmer.exe。5、串口ISP下载将BOOT

2022-02-24 20:04:25 1275 7

原创 【GD32L233C-START】10、硬件SPI1驱动RC522

1、关于GD32L233CCT6的SPI接口可以看出 有两路spi,spi0和spi1,本节使用spi1。2、开发板上SPI的引脚3、spi1引脚复用4、开发板与RC522模块连接开发板 rc522PB12 <----------------------------->SDA(NSS)PB13 <----------------------------->SCKPB14 <----------

2022-02-22 19:12:59 1082

原创 【GD32L233C-START】9、按键——外部中断

1、硬件连接可以看出,PA0通过R29下拉到GND,按键按下时, PA0的电压为3.3V,没有按下时,PA0的电压为0V,因此可以通过判断上升沿,判断按键是否按下。2、中断优先级可以看出只有2位,4个优先等级,而且不分先占、次占优先级,这与cortex m3还是区别比较大的。3、中断线可以看出PA0 / PB0 / PC0 / PD0 / PF0对应一个中断线,即就是这几个如果要用到外部中断,同一时刻只能有一个。4、中断函数查看startup_gd32l23x.s文件,发现外部IO中断只有

2022-02-20 16:52:47 1156

原创 【GD32L233C-START】8、使用内部参考电压校准adc,adc采样更准确

1、为什么要校准因为MCU的VDD的电压会有微小的波动,并不是3.3v恒定的。2、ADC与ADC通道可以看出GD32L233C-START开发板,也就是芯片GD32L233CCT6有一个ADC外设,10个外部通道,4个内部通道;10个外部通道,分别是ADC_IN0-ADC_IN9,对应GPIO为PA0-PA7,PB0-PB1;4个内部通道,分别是ADC_IN16-ADC_IN19,对应内部温度传感器电压输出、内部参考电压输出、VBAT 引脚上电压除以3、VSLCD引脚上电压除以3。3、内部参考

2022-02-19 16:39:54 4421 5

原创 【GD32L233C-START】7、获取MCU96位唯一ID、SRAM、FLASH大小

​1、关于电子签名设备的电子签名中包含的存储容量信息和96位的唯一设备ID。它被存储在片上闪存的信息模块 中。96位唯一设备ID对于每颗芯片而言都是唯一的。它可以用作序列号,或安全密钥的一部分, 等等。2、96位唯一ID96位ID信息,地址依次为0x1FFFF7E8、0x1FFFF7EC、0x1FFFF7F0,设备出厂的时候,已经固化在mcu内部的,用户不可更改。3、关于SRAM和FLASH大小存储容量信息,地址为0x1FFFF7E0,设备出厂的时候,已经固化在mcu内部的,用户不可更改。

2022-02-17 22:44:20 2983 1

原创 【GD32L233C-START】6、硬件I2C驱动0.96吋OLED

​1、关于GD32L233CCT6的I2C接口可以看出有两路I2C,分别是I2C0,I2C1。2、开发板上I2C的引脚可以看出,I2C1的引脚为PB10和PB11。3、通用引脚复用为I2C可以看出,是复用功能4。4、代码实现(1)初始化i2cvoid I2cInit(void){ rcu_periph_clock_enable(RCU_I2C1); rcu_periph_clock_enable(RCU_GPIOB); gpio_af_set(GPIOB, GPIO_AF_

2022-02-15 21:37:41 1535 6

原创 【GD32L233C-START】5、flash读写——使用内部flash存储数据

1、关于GD32 FlashGD32 flash官方称为FMC。2、关于GD32L233CCT6 flash本次使用的GD32L233CCT6 flash大小为256k;可以看出,分为64页,从0-63页,每页大小为4kb;手册上说,支持32位整字和16位半字编程,但是库函数只有整字编程。3、代码实现#define FLASH_PAGE_SIZE 0x1000 //4kvoid FlashWrite(uint16_t len,uint8_t *data,uint

2022-02-14 09:13:46 2188 6

原创 【GD32L233C-START】4、串口不定长数据接收

1、硬件连接本文使用串口0,对应的引脚为PA9和PA10。2、GPIO复用功能可以看出,复用功能为AF7。3、实现思路利用串口接收相邻两个字符的时间来判断一串数据是否接收完成,如果超过设定的时间,还没有接收到下一个字符,则认为一串数据接收完成。如果使用115200波特率,数据长度为8bit,停止位为1bit,那么接收一个字节大约需要,(1/115200)9=0.78ms。那么就可以利用,接收完一个字符后,如果0.78ms之内没有下一个数据,那么就可以认为一串数据接收完成,考虑到单片机接收.

2022-02-11 13:21:58 1346

原创 【GD32L233C-START】3、pwm实现呼吸灯

​1、硬件连接2、PWM通道可以看出,PC6对应的是TIME2的CH0通道。3、实现方法通过调节占空比,递增占空比,led逐渐变亮,视觉上是呼吸灯的效果。4、核心代码(1)pwm初始化void PwmInit(void){ rcu_periph_clock_enable(RCU_GPIOC); /* TIMER1 GPIO */ gpio_mode_set(GPIOC, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_6 );

2022-02-10 21:51:02 531

原创 【GD32L233C-START】2、非阻塞方式点灯,blink,blink,blink……

1、前言:官方的demo用的阻塞方式点灯,即就是死等,在等待期间mcu干不了其他事情(中断除外),这种方式不太友好,本文使用非阻塞方式点灯。2、硬件连接3、思路利用定时器中断,每1ms中断一次,整个系统维护一个tick计数;记录某一时刻的tick,用A表示,再获取当前的tick,用B表示,如果当前的B-A大于等于500(这里500ms闪烁一次),那么就执行一次led翻转,同时也更新A的值。4、软件实现(1)利用定时器中断,每1ms中断一次,整个系统维护一个tick计数static uint

2022-02-09 16:05:01 655

原创 【GD32L233C-START】1、初识GD32L233C-START板卡

1、GD32L233x系列mcuArm® Cortex®-M23内核,最高主频为64MHz;集成了64KB到256KB的嵌入式eFlash和16KB到32KB的SRAM;深度睡眠(Deep-sleep)电流降至2uA,唤醒时间低于10uS;待机(Standby)电流最低仅有0.4uA;深度睡眠模式下能够被多种系统时钟、外设接口触发,支持Low power Timer、Low powerUART、RTC、LCD以及标准I2C、USART等在内的多个唤醒源;芯片供电电压为1.7-3.6V,并支持

2022-02-08 22:23:51 3928 4

原创 单极性霍尔开关OH3144/OH44E

单极性霍尔开关OH3144/OH44E

2022-01-19 08:15:00 5565 3

原创 【开源】串口YMODEM实现IAP程序升级(附工程源码)

GD32串口 、YMODEM 、IAP升级

2022-01-14 14:09:59 7039 25

原创 使用LSM6DSO加速度计检测倾角

1、前言LSM6DSO实际上是六轴传感器,本文只使用到了其中的加速度计,关于LSM6DSO的基础应用可参考ST六轴传感器LSM6DSO使用说明。2、理论依据参考链接(1)如果芯片水平静置,X、Y方向的重力分量为0g,而Z轴方向的重力分量为g。如下图所示,X=0,Y=0, Z=g。(2)如果各边与水平方向有一些夹角,如下图所示:X轴方向的加速度大小为Ax,其与水平线的夹角为α1,与重力加速度的夹角α;Y轴方向的加速度为Ay,与水平线的加速度为 β1,与重力加速度g的夹角为β;Z轴方向的加速度

2022-01-05 08:15:00 2587 1

原创 一文学会LCD12864显示中文、英文、反显

1、基本原理驱动LCD其实就是往LCD的显存写数据,写1的地方显示,写0的地方不显示;由于显存以128列、64行分布,所以也称12864液晶。2、基本特性工作电压 3.3V,背光电压 3.0V\45MA 通讯方式;8 位并行(6800 和 8080 时序),4 线串行通讯 12864;点阵显示器内存(DDRAM 为 13265) ;显示对比度,内部寄存器调节(软件调对比度);占空比 1/64 偏压比 1/9;工作温度 -20 到+70 度。3、显存映射可以看出列定义为0-127,行

2021-12-30 18:15:00 9894 4

原创 字库芯片GT20L16S1Y使用记录

高通字库使用记录

2021-12-28 08:15:00 5442 12

原创 GD32F303串口ISP方式下载程序

GD32F303系列串口ISP下载程序

2021-12-20 08:15:00 9505 3

原创 ST六轴传感器LSM6DSO使用记录

ST六轴传感器LSM6DSO

2021-12-15 17:37:31 12406 18

原创 GD32F303使用Jlink 调试状态下可以运行,非调试状态下不能运行,原因排查

1、GD32启动模式在调试状态下,从ram中启动,因此猜测在非调试模式下,boot引脚设置不对。2、MicroLIB程序中如果使用了printf,就需要MicroLib的支持,在MDK中需要勾选Use MicroLib。查找之后,发现正是没有勾选MicroLIB的原因导致的,但是奇怪的是,在debug模式下,打印倒是正常的。...

2021-12-10 17:31:13 2726 3

迪文屏幕T5L DGUSII应用开发指南

迪文串口屏,开发应用指南

2023-09-06

u8g2移植到at32f425 mcu,使用硬件i2c和软件i2c两种方式

u8g2移植到at32f425 mcu完整工程源码,使用硬件i2c和软件i2c两种方式

2022-04-27

基于YMODEM协议,实现串口IAP程序升级

基于YMODEM协议,实现串口IAP程序升级

2022-01-24

GD32串口接收不定长数据完整工程

GD32串口接收不定长数据完整工程

2022-01-22

GD32F303_YMODEM_Boot.rar

GD32F303 串口YMODEM 升级源码

2021-12-30

RT-Thread(3.1.5)移植到GD32F150系列MCU

RT-Thread(3.1.5)移植到GD32F150系列MCU工程文件 1、移植RT-Thread 3.1.5到GD32F150芯片; 2、OS使用静态内存; 3、支持FinSH。

2021-10-14

ble-uart.rar

基于ch579实现蓝牙串口透传

2021-09-09

BLE调试助手.apk

BLE调试助手,中文界面

2021-08-23

Bluetooth LE Scanner.apk

Bluetooth LE Scanner 蓝牙调试app

2021-08-23

LightBlue.apk

LightBlue安卓版app,调试蓝牙利器

2021-08-23

ble电池服务(Battery Service)文档BAS_SPEC_V10

ble电池服务官方文档

2021-08-17

Generic Access Profile(广播数据类型).pdf

ble4.2广播数据类型

2021-08-03

CSS_v10(核心规范补充).pdf

蓝牙核心规范补充v10

2021-08-02

LoRaMac-node-develop(v4.4.2 SDK keil project).rar

LoRa节点SDK V4.4.2keil工程,SDK支持标准LoRaWAN、点对点、持续发送、接收灵敏度测试。

2019-11-19

DS_SX1302_V1.0.pdf

新一代LoRa网关芯片手册,集成度更高、功耗更低、可以解析SF5-SF12

2019-10-17

SSD1306-SolomonSystech.pdf

SSD1306的数据手册,里面详细介绍了如何驱动0.96寸OLED。

2019-10-16

LoRaWAN规范各地区参数v1.0.2rB

LoRaWAN规范各地区参数v1.0.2rB,由LoRa联盟发布,基于LoRa远距离通信网络设计的一套通讯协议和系统架构,如果按协议分层来说LoRaWAN就是MAC层,LoRa是物理层. 基此LoRaWAN原来也被叫做LoRaMAC。基于此规范实现的网络,可以实现相互兼容。

2019-04-02

LoRaWAN规范1.1

LoRaWAN规范1.1,兼容1.03、1.0.2、1.0.1、1.0,由LoRa联盟发布,基于LoRa远距离通信网络设计的一套通讯协议和系统架构,如果按协议分层来说LoRaWAN就是MAC层,LoRa是物理层. 基此LoRaWAN原来也被叫做LoRaMAC。基于此规范实现的网络,可以实现相互兼容。

2019-04-02

LoRaWAN规范1.0.1

LoRaWAN规范1.0.1,兼容LoRaWAN规范1.0,由LoRa联盟发布,基于LoRa远距离通信网络设计的一套通讯协议和系统架构,如果按协议分层来说LoRaWAN就是MAC层,LoRa是物理层. 基于此规范实现的网络,可以实现相互兼容。

2019-04-02

LoRaWAN规范1.0

LoRaWAN规范1.0,由LoRa联盟发布,基于LoRa远距离通信网络设计的一套通讯协议和系统架构,如果按协议分层来说LoRaWAN就是MAC层,LoRa是物理层. 基此LoRaWAN原来也被叫做LoRaMAC。基于此规范实现的网络,可以实现相互兼容。

2019-04-02

stm8工程模版(IAR)

STM8新建IAR工程模版,本例程用的是STM8S003,很容易移植到其他系列,同时加入了简单的串口代码。

2019-01-04

空空如也

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

TA关注的人

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