自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自由派官方博客

为自由和梦想而生

  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 stm32l4 低功耗

在stop2低功耗模式下,Debug线要断开,否则进不去stop2模式

2019-03-19 10:07:45 1873

原创 STM32 LCD HAL库 HAL_LCD_Write函数使用说明

HAL_LCD_Write(LCD_HandleTypeDef *hlcd, uint32_t RAMRegisterIndex, uint32_t RAMRegisterMask, uint32_t Data);函数参数解析:LCD_HandleTypeDef *hlcd 初始化的LCD句柄指针uint32_t RAMRegisterIndex RAM寄存器,COM口寄存器uint32...

2019-03-13 09:28:20 6122 5

原创 littleFS 出现打开文件失败处理办法

如果err == -84则代表文件系统损坏,就需要重新格式化文件系统。littleFS 出现打开文件失败。

2024-04-16 17:32:43 290

原创 Linux 查看日志

的日志,你需要具有 root 或 sudo 权限,因为这些日志通常只对特权用户可见。你可以通过滚动浏览输出来查看完整的日志。这个命令会显示内核环缓冲区中的日志消息,包括使用。这些文件包含了内核和系统消息的日志,其中包括使用。你可以通过以下方法查看。这个命令会显示内核消息日志,包括使用。在 Linux 中,内核日志使用。希望这能帮助到你找到。

2023-08-17 10:42:01 1210 1

原创 STM32G030程序直接跑飞,debug也停不住

使用printf的程序,需要勾选上图中的选项才能正常使用。

2023-07-30 11:57:08 217

原创 STM32 HAL GPIO介绍

在GPIO初始化之后,可以通过HAL_GPIO_ReadPin()和HAL_GPIO_WritePin()函数来进行GPIO的读写操作。其中,HAL_GPIO_ReadPin()函数用于读取GPIO输入的电平值,而HAL_GPIO_WritePin()函数用于向GPIO输出电平值。在STM32 HAL库中,GPIO的初始化函数为HAL_GPIO_Init()。该函数的参数包括GPIO端口号、引脚号、模式(输入/输出)、输出类型(推挽/开漏)、输出速度(低/中/高)和上拉/下拉配置等等。

2023-03-29 15:40:10 389

原创 STM32 HAL 提示初始化文件没有声明

使用cubemx生成工程后,再添加的功能模块,首先会提示一些结构体找不到,经过查找发现是宏定义没有打开,当你在STM32xxxx_hal_conf.h中打开相应的宏后,提示初始化函数未声明,这时需要把对应功能模块的.c文件添加进工程进行编译。...

2020-11-25 21:23:22 372

原创 Keil生成bin文件

fromelf --bin -o “[email protected]” “#L”

2020-07-23 11:23:58 111

原创 STM32L4 Timer计数偏快

在配置STM32L4的Timer时钟为80M时发现,每秒出现在计数器内的count值和实际应该出现的值不一致,快了5-6倍。具体原因现在还不知道,经过尝试发现,在配置timer的时钟为40M时,没有这个问题,很稳定。可能跟外设允许的频率有关系吧。...

2020-07-17 14:45:01 440

原创 IAR项目工程中使用变量定义数组长度或者使用printf(“%.*s“)输出固定长度的字符串的额外配置

需要在工程的配置中打开Allow VLA选项

2020-07-06 15:11:45 659

原创 easyLogger中文乱码

产生原因:编码格式问题,使用UTF-8编码源文件就不会有这个问题。解决方案1:使用notepad++打开乱码文件,在菜单栏选择编码,选择转为UTF-8编码。再次编译文件就没有乱码问题了

2020-06-29 14:26:24 470

原创 STM32 从RAM中运行程序

2020-06-22 16:49:42 2073

原创 STM32 局部变量允许的最大长度

局部变量(定义在函数内部的变量)存放在CSTACK中,所以局部变量允许定义的大小不应大于设置的CSTACK大小。否则会出现死机或者程序执行异常现象。

2020-06-19 17:16:06 1531

原创 STM32L431功耗参考表

2020-06-19 14:24:01 2829

原创 STM32 以固定频率进行DMA连续转化

1,选择ADC 和 通道2,配置ADC 参数关闭连续转换,开启扫描,开启非连续转换,使能DMA连续转换,以一个组为单位进行转换。设置转换的通道数,设置触发源,设置触发边沿,设置每个通道的参数。3,配置DMA选择DMA的模式为循环模式...

2020-06-19 11:20:24 892

原创 STM32 OSPI四线读取 SST26VF064B ID

读取时序代码: OSPI_RegularCmdTypeDef sCommand; HAL_GPIO_WritePin(OCTOSPIM_P1_NSS1_GPIO_Port, OCTOSPIM_P1_NSS1_Pin, GPIO_PIN_RESET); sCommand.OperationType = HAL_OSPI_OPTYPE_COMMON_CFG; sCommand.FlashId = HAL_OSPI_FLASH_ID_1; sCommand.Instru

2020-06-11 16:33:47 4106 2

原创 STM32 DAC 利用DMA和timer进行连续转化

话不多说,直接上配置。开发环境,CubeMX5.6.1+IAR8.40.2+STM32L476RGDAC channel1 (PA4)Timer2触发详细配置如下:DAC:DMA:Timer:在初始化的时候,进行了DAC校准:HAL_DACEx_SelfCalibrate(&hdac1, &sConfig, DAC_CHANNEL_1);这个的转化时间,大概是7ms左右。Timer DAC DMA 初始化后,调用HA...

2020-06-04 00:29:42 972

原创 EC20 透传模式的进入,退出,返回

进入:通过创建链的命令直接进入透传模式,最后一个2代表需要进入的模式“AT+QIOPEN=1,0,“TCP”,“xx.xx.xx.xx”,8000,0,2”,如果一开始没有使用这条指令,可以使用"AT+QISWTMD=0,2(接收模式)"指令切换过去。在非透传模式下,同样的这条指令也可以帮助我们切换到另外两个模式。退出:在透传模式下发送“+++”,退出透传。 此命令没有回车返回:发送"ATO"或者"AT+QISWTMD" 重新进入透传模式...

2020-06-03 14:09:04 4037 8

原创 STM32 TIMER触发的详细流程

TIMER启动-----》到达预装载值-----》清除CNT,重新开始计数------》触发中断。验证方式,在TIMER的中断里查看CNT的值,我主频4M,timer是1MHz的频率,中断里TIMER的CNT为4。如果是先进中断才清除CNT,则CNT的值应为我设置的预装载值。如果是中断后才开始的重新计数,CNT的值应该为0或者预装载值。所以综上所述,TIMER是先清零,重新计数,然后再进的中断。...

2020-05-29 19:10:21 939

原创 硬件调试---模拟I2C

模拟I2C在开发中使用的很多,尤其是在51和早期的STM32程序中(网上流传着一种说法:那就是STM32 I2C有问题,实际上我用的过程中并没有发现)。好的,那么问题来了,我在调试的过程中贪图省事,把模拟I2C中设置SDA输入输出的设置给省了,导致读写寄存器正常,但是连续读取一些数据的时候却出了问题,只能读取很少的一部分数据,困扰了两天,终于在示波器的帮助下找到了问题。那些异常的波形就是没有设置SDA引脚为输入导致的。总结:遇到串行通信问题,示波器绝对是个好帮手,还有就是真的不能偷懒,改写的还是要写。

2020-05-28 23:23:08 266

原创 u-blox7 配置命令和校验

计算的范围是从CLASS到检验位。

2020-05-28 10:14:27 823

原创 EC20 网络注册状态(2/3/4G)

首先开启CDMA: AT+CGREG=2接着查询网络注册状态:AT+CGREG?

2020-05-27 19:32:17 3490

原创 EC20 网络选择

选择模式2G/3G/4G扫描网络的优先级选择

2020-05-27 18:47:26 746

原创 EC20 配置TCP重传和重传间隔

默认的重传间隔比较大,大概是60s左右,

2020-05-27 18:14:52 538

原创 EC20 透传模式下的意外情况

EC20进入透传模式后,发送失败,或者远程服务器关闭会报错误信息,并且自动退出透传模式。远程服务器正常(或意外终止程序)关闭服务:NO CARRIER+QIURC: "closed"模块并不会因为自身网络情况差,或者其他原因断开链接而报错,即使是推出透传模式,使用ATO重新进入透传,提示的还是connect。...

2020-05-27 15:16:17 2214

原创 傅里叶变换的物理意义及算法(转)

傅里叶变换的物理意义:https://blog.csdn.net/iloveyoumj/article/details/53308142

2020-05-20 14:15:05 293

原创 STM32 SD卡使用SDIO DMA卡死解决办法

在使用SDIO操作SD卡时,如果底层BootLoader也有操作SDIO,则可能(一般是SD卡出现质量问题的时候)会出现应用层一直卡死在SDIO的DMA中断里,解决办法就是在初始化的时候将相关的寄存器清空。...

2020-04-14 11:03:33 3783

原创 STM32 CubeMX中FreeRTOS的默认配置

内存分配方式:heap4总共有5种,heap4是通用型的**节拍的速率:**1000HZ.抢占:默认是开启的如果这个不开启,则要为每个任务配置不同的优先级特别要注意的是:所有的FreeRTOS阻塞都会引起任务切换。包括osDelay() 、信号量获取和释放、消息队列的读写、邮箱等。...

2020-04-02 11:01:32 222

原创 FreeRTOS临界区操作

进入临界保护(支持嵌套):taskENTER_CRITICAL();退出临界保护(支持嵌套):taskEXIT_CRITICAL();中断里进入临界保护(支持嵌套): taskENTER_CRITICAL_FROM_ISR();中断里退出临界保护(支持嵌套): taskEXIT_CRITICAL_FROM_ISR( x );进入临界保护的定义代码:从中可以看出,uxCritical...

2020-04-02 10:40:29 933

原创 STM32 获取系统重启原因(STM32F407VET6为例)

在stm32f4xx_hal_rcc.h中,有如下重启的原因#define RCC_FLAG_BORRST ((uint8_t)0x79)#define RCC_FLAG_PINRST ((uint8_t)0x7A)#define RCC_FLAG_PORRST ((uint8_t)0x7B...

2020-01-16 14:55:34 3617 4

原创 Qt CRC16校验中,有时候电脑计算的CRC值和单片机中计算的值不一样

在项目中为了图省事,想要直接使用QByteArray 的data方法,将CRC16校验中的校验数据类型,从unsigned char* 变成了char *.结果导致了只要校验数据中有负数就会出现和单片机中的检验数据不一样。主要原因是单片机中的unsigned char 和char 是一样。而电脑是区分的,所以这也就导致了即使我在单片机那一端也将校验数据的数据类型改为char *,也一样会出现错误。...

2019-07-12 14:17:33 1510

原创 STM32 串口空闲中断 DMA方式 cubeMX环境下

我这里使用的芯片是STM32F103RBT61,正常配置一个串口,勾选uart4,2,为串口配置一个接收的DMA3,打开串口中断4,生成软件,并在软件里开启串口空闲中断5,在串口中断函数里,检测空闲中断,获取接收的字符串长度这里面需要注意的是,DMA的剩余长度是指,假如我们一开始调用HAL_UART_Receive_DMA函数指定的接收长度是100,现在...

2019-07-01 13:41:11 1015

原创 STM32L4低功耗模式下LCD唤醒时闪屏

正常情况下,STM32从低功耗模式下唤醒时,都需要重新初始化时钟,但是如果LCD使用的时钟被初始化,则就会出现闪频的现象,只会闪一下,然后再迅速回复正常。解决办法,使用和RTC一样的时钟源,例如使用LSI,这样在唤醒时,不初始化LSI时钟,系统也能正常运行。...

2019-03-29 17:20:41 1041

原创 STM32L4 浮点运算 注意事项及问题

1,问题:在项目中使用double类型的数据进行浮点运算时,出现运算时间长,运算为0,或者错误的情况。2,解决方案方法1:如果用的浮点不是很大的话,可以将double转为float,方法2:将数据转为整形,然后再进行计算,最后再将数据转为浮点型由于我在项目中使用的浮点数不是很大,所以优先使用了方法1。3,后续不过引起这个问题的具体原因,我目前还不是很清楚,所以只能先这样解决了,只能等后...

2019-03-20 10:19:03 2553

原创 STM32 多通道ADC注意事项

1,在使用ADC多通道时,如果使用了DMA,则DMA的模式一定要配置为Circular模式,否则只会转化一次。至于单通道有没有这个问题,就要等到后面有时间的时候再验证了。...

2019-03-20 10:10:30 882

原创 STM32L4 串口误进IDLE中断

我们在接收不定长数据时,常常会使用IDLE中断,但是在初始化完uart后,立即使能IDLE中断会马上进入IDLE中断,这个时候需要在初始化完uart后进行适当的延迟。...

2019-03-15 13:42:28 1183

原创 STM32 HAL CubeMX断码屏配置与使用

STM32L476 LCD直接驱动断码屏使用注意事项1,配置:1.1对于偏压,电路上可以不用做处理,直接在软件里配置即可1.2High Drive 选项如果不勾选,可能会造成,点亮SEG上的多条线,同一个 EG的其他线也会被点亮。2,使用在stm32l4xx_hal_lcd.h中包含以下操作函数//初始化函数 如果使用cubemx配置工程, 这个可以不用关心,软件会帮我们...

2019-03-13 09:00:31 2409

stm32l432datasheet

STM32L432数据手册,和功耗参考 STM32L432数据手册,和功耗参考 STM32L432数据手册,和功耗参考 STM32L432数据手册,和功耗参考 STM32L432数据手册,和功耗参考

2020-06-22

STM32L476+HAL+DAC+DMA+Timer

工程基于STM32L476+IAR8.40.2 + HAL 库,实现DAC 输出 正弦波。使用TIMER + DMA的方式,只要调整DMA buff中的数据就可以输出我们想要的波形。

2020-06-04

STM32L4寄存器手册

STM32L4寄存器手册,This reference manual targets application developers. It provides complete information on how to use the STM32L4x5/STM32L4x6 microcontroller memory and peripherals. The STM32L4x5/STM32L4x6 is a family of microcontrollers with different memory sizes, packages and peripherals. For ordering information, mechanical and electrical device characteristics please refer to the

2019-03-13

空空如也

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

TA关注的人

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