自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 STM32G4 DMA的使用(寄存器开发)

以STM32G474为例,使用DMA来存储USART1的接收数据。

2024-07-10 15:41:52 1996 1

原创 STM32G4 比较器COMPx(寄存器开发)

STM内部的比较器是模拟量的比较器,其与APB2时钟同步,在RCC时钟控制器中没有COMx时钟使能标志位,其时钟的使能与复位与SYSCLK同步。

2023-05-30 18:58:30 7974 2

原创 GD32F450的时钟笔记

简单的GD32F4系列单片机时钟笔记

2022-11-16 19:10:31 2943

原创 单片机是否参与两个常量宏定义的运算

对于 编程过程中 的 宏定义 是否需要 提前计算 的问题 进行了验证

2022-09-27 11:49:32 651

原创 ESP32头文件包涵 src和inc的CMakeLists.txt的路径配置

ESP32初学者对于引用路径的问题解决

2022-07-04 00:06:55 2825 2

原创 STM8L 低功耗模式说明

简单梳理stm8l的低功耗模式

2021-12-22 00:33:24 2677

原创 STM32G474_FDCAN的普通CAN模式使用(寄存器开发)

STM32G474 FDCAN 的经典CAN使用

2021-09-03 20:45:33 9988 5

原创 ESP32时钟笔记

Strapping 管脚在芯片的系统复位(上电复位、 RTC> 看门狗复位、欠压复位)放开的过程中, Strapping 管脚对电平采样并存储> 到锁存器中,锁存为“0”或“1”,并一直保持到芯片掉电或关闭。—————————————————————————————————————软件可以读取寄存器“GPIO_STRAPPING”中这 5 个管脚 strapping 的值。—————————————————————————————————————ESP32 共有 5 个 Strap

2021-08-30 21:17:17 14526 5

原创 STM32的USART编程

TE标志位要想使串口能够发送数据,必须置位TE标志位,并且在写入发送寄存器TDR之前置位。当TE位置位,会产生一个空闲帧。数据传输过程中,复位TE,会导致数据发送错误,波特率产生器会冻结。TXE状态标志位该位由硬件置位,它表示:数据已从 USART_TDR 寄存器移至移位寄存器,并且数据传输已经开始。USART_TDR 寄存器为空。下一个数据可以写入 USART_TDR 寄存器而无需覆盖以前的数据。如果 TXEIE 置位,会产生一个中断发送数据的配置顺序配置CR1寄存器的M

2021-07-03 12:35:15 1839

原创 STM32 模拟IIC源代码 多个I2C减少冗余代码

当设计中使用I2C的数量多于1个时,其底层I2C的代码逻辑都是一样的,只有IO口变了,为此还要复制粘贴、修改IO,不仅费时,而且还浪费片内资源,因此可以使用指针来重复执行IIC底层代码,实现一个代码,多个IO使用。Stm32f30x_SMLT_I2C.h#ifndef __Stm32f30x_SMLT_I2C_H#define __Stm32f30x_SMLT_I2C_H//========================= Include ===========================

2021-04-13 16:39:49 4084 8

原创 STM32G474的ADC(寄存器开发)

474的ADC寄存器分析与配置

2021-03-02 17:30:07 7922 5

原创 STM32的IIC笔记

STM32I2C 速率:标准模式 —— 100kHz快速模式 —— 400kHz快速模式+ —— 1MHzI2C 时钟源:SYSCLKHSI输出为I2CCLK隶属于APB1I2C的初始化I2C的软件复位当清除PE位(I2C_CR1),会产生I2C的软件复位。软件复位会重置下述寄存器:I2C_CR2 register: START, STOP, NACKI2C_ISR register: BUSY, TXE, TXIS, RXNE, ADDR, NACK

2021-01-26 15:55:08 1828

原创 VScode开发STM或者MSP430不能代码补全(标识符未定义)

1. 打开工程中的.c文件,右下角点击Win322. 选择JSON配置3.

2021-01-20 20:21:08 762

原创 CAN协议报文格式:Motorola和Intel格式的区别

多说无益,看图:

2020-09-29 14:19:22 4373 4

原创 STM32G474_PWM输出的抖动模式

看到哪记到哪抖动模式(Dithering mode)在查看手册的时候发现了这个模式,第一次看没看懂(可能是太困了),今天又看了一遍手册,大致理解了这个模式的作用。抖动模式的功能就是增加PWM的分辨率。手册的介绍是这样的:抖动模式PWM的有效分辨率可以通过启动抖动模式来提高,使能TIMx_CR1寄存器中的DITHEN位来启动抖动模式。这适用于CCR(占空比分辨率增加)和ARR(PWM频率分辨率增加)。其工作原理是在16个连续的脉宽调制周期内稍微改变实际的CCR(或ARR)值(增加或不增加一个

2020-09-25 10:14:17 5302 7

原创 STM32的外部中断(寄存器控制)——个人笔记

我感觉stm32的外部中断都是大同小异的,因此我以stm32g474为例,配置一下外部中断。举例引脚: PE5配置引脚为输入模式(GPIOx_MODER);配置触发模式(上升沿/下降沿);配置EXTI的中断屏蔽寄存器(EXTI_IMR);配置具体触发引脚(SYSCFG_EXTICR);配置中断允许(ISER);(当然也可以配置优先级分组,我这里不需要,因此省略)首先看EXTI的中断/事件框图:要想触发中断,首先经过“边沿检测器”,而边沿检测器需要配置上升沿检测还是下降沿检测。然后通过

2020-09-23 15:07:11 2061

原创 STM32G474时钟设置笔记(170MHz)

g474是M4内核,系统时钟的最大频率是170MHz。系统复位后,选择HSI16作为系统时钟。。但是我没有使系统频率达到170MHz,只设置到140MHz就上不去了,我现在还在考虑是不是电源没有配置好的问题,因此本文仅以配置到140MHz为例。(以下文章纯属个人理解,如果有不对的地方还请大佬指点,我会及时修改,必要时删除本文章,防止我误导他人)编写基础时钟树要想配置时钟首先必须要看明白时钟树。啊这。。。。我感觉比原来的时钟更人性化了哈,直接搞了个内部48MHz给USB啥的用了,这样就不用考虑怎

2020-09-15 16:47:45 6553 2

原创 两个ESP8266配置透传(不要其他设备开热点)

我研究啥都是皮毛,今天上午到手两个ESP,研究研究配置成透传模式。————————————————————————————这里有两个ESP,分别命名为ESP-A、ESP-B。ESP-A透传发送信息给ESP-B直接梳理下配置步骤:设置ESP-B为AP模式,并建立热点设置ESP-A为station模式,连接ESP-B的热点设置ESP-B为多机通信,并配置建立服务器ESP-A设置为单机通信,透传模式,连接ESP-B的服务器ESP-A发送SEND指令,进入透传……发送要发的数据ESP-A发送“

2020-09-14 15:30:20 4487 8

原创 C语言个人随笔

文章目录1. for语句的break2. 使用结构体查表,减少if语句3. 共同体+结构体 解决高低字节计算问题1. for语句的breakfor语句使用break,后续条件不会执行。for(u8 i=0x00;i<10;i++){ if(i==4) break;}printf("i=%d",i);结果为i=4。continue会执行后续条件。2. 使用结构体查表,减少if语句查表一般会省去大部分的if判断条件语句,使用结构体数组查表会使代码看上去不那么low。下面代码是直

2020-08-22 10:53:27 333 1

原创 MDK5(Keil 5)不能仿真的解决记录(FLASH Download Failed.)

入门STM32遇到的问题在工作之后,由于以前学的MSP430单片机不符合公司项目要求,因此需要转战stm32,使用stm32那么MDK5是很常用的stm32开发软件。开发人员最常用的功能就是仿真,因此我首先需要解决仿真问题。使用的仿真器是ST-Link V2 ,通过设置仿真器后发现不能进入仿真,点击仿真按钮会出错,提示:然后上网搜索,得到解决办法是BOOT0接1,BOOT1接0,然后就可了。应该是,反正我当天晚上没啥效果,第二天早上再开机试验就好用了,可能是没复位,大家可以试一下复位!这个问题就

2020-07-14 12:16:46 4302 1

原创 WiFi模块(ESP8266)获取时间、天气API AT指令串口调试

一直想做一个能够通过WiFi模块来获取 互联网获取 时间 和 天气 的时钟,网上大部分是获取时间的教程,对于获取天气的教程都是我看不懂的神奇语言,对于我这种不会java、html或者JSON什么乱七八糟的菜鸡来说就是天书,因此我只做出来能够获取网络时间的时钟,获取天气的没有实现。最近由于某些设计需要又重新研究了下,终于弄清楚获取天气信息的方法了,今天我这个菜鸡就来给大家分享下通过AT指令获取网络...

2020-04-30 16:08:03 17551 7

原创 GSM模块(SIM800L)收发短信 串口调试

其实我感觉应该不止用于SIM800L,其他GSM模块也大同小异,估计也差不多。总结下我调试模块遇到的问题,与大家分享一下,同时也梳理一下自己的思路好移植到单片机上。我也不打电话,所以模块的接线只用接4个脚,如下图(感觉不用说…)电源问题刚买来这个模块也没在意,也没接触过GSM模块,以为和其他普通模块一样,结果它是3.7~4.2V供电,这使我很茫然。亲测3.3V也可以使模块工作,但是貌似总...

2020-02-29 22:15:05 20373 28

原创 MSP430F149的OLED驱动(硬件SPI)

MSP430F149的OLED驱动(硬件SPI)试验主程序辅助程序msp430f149_init.cmsp430f149_init.hOLED驱动OLED_SPI.cOLED_SPI.h简单的显示图片、ASCII、数字。文字字库太大,懒得写,道理都是一样的。。。OLED程序在下面 可以直接跳过前面的程序,直接跳入“OLED驱动”程序具体原理其他博主都有介绍,可以参考其它文章,我就直接上代码...

2020-01-16 20:27:56 2290

STM32G474 FDCAN的经典CAN使用

STM32G474 FDCAN的经典CAN使用 波特率250k 接收滤波0x207 0x607 0x601 0.5s发送一次数据 发送内容: ID:0x222 数据帧 标准帧 数据长度8 内容 78 56 34 12 00 00 00 00 接收数据以中断形势接收,存放到buffer中

2022-03-16

STM32G474中文手册时钟模块翻译.pdf

仅仅翻译了一点关于时钟部分的手册

2021-03-01

OLED_I2C的MSP430F149驱动(下载私信我,我改积分)

(想要下载,积分涨到了30?私信我,我改积分!) 基于MSP430F149单片机的简单的OLED模块驱动,I2C接口,通过软件模拟I2C协议实现通信。 驱动提供8*16和6*8像素的ASICII字符串显示、8*16和4*8像素的数字显示、图片显示可能还有别的。。。 下载的文件全是.c文件,需要自己导入工程。

2020-03-31

OLED_SPI的MSP430F149硬件SPI驱动

简单的基于MSP430F149的OLED硬件SPI驱动。供7针OLED模块使用。 OLED(OrganicLight-Emitting Diode),又称为有机电激光显示、有机发光半导体(OrganicElectroluminesence Display,OLED)。

2020-01-16

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

TA关注的人

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