自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

He Long的专栏

嵌入式学习

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

原创 STM32L051 HAL库非DMA模式使用空闲中断接收不定长数据

STM32L051 HAL库非DMA模式使用空闲中断接收不定长数据因项目中的上位机与单片机之间的通信协议采用非标准协议,上位机发送的数据长度不定,因此在网上查询相关的解决方法,但查询的结果,网上讨论的利用空闲模式接收不定长数据的方法,都是基于DMA接收的,个人项目因为有低功耗需要,平时是在停机模式,在唤醒后才能接收数据,所以考虑非DMA接收方式,经过调试,试验成功,将代码记录下来。实现的功能实验完成的代码功能包括STM32L051的低功耗串口LPUART1初始化、中断接收,Printf打印函数,利

2020-06-18 16:07:46 1087

原创 keil5.36无法修改XTL时钟,导致软件调试时定时时间错误的解决方法

可以看到XTAL选项是灰色的,不能修改,这样如果进行软件仿真,就会出现时间错误的问题,在网上查找了一下,比如STM32F103,发现提出的解决方法都是去修改system_stm32f10x.c中的时钟定义相关的参数,因为代码中默认是配置为主频72MHz,这个是没错的,但是在相应的函数中,它把PLL设置为了9,所以网上讲,把它设置为6。问题就是出在这,按照代码里PLL=9计算,HSE应该是设置为8MHz,这样才是72MHz,然而实际上在进入软件仿真时,我们会发现SYSCLK的时钟频率是108MHz。

2023-06-10 23:15:24 4822 4

原创 keil下载程序后,单片机不自动运行, 需要断电重启的解决方法

这里KEIL有一个小问题,特别是新版版的keil,有新建工程时,默认DEBUG配置和下载配置里,除了上面的选择,还有一个Pack的界面,在这里工程默认选择pack文件如下图所示。如上,点3指示的在线下载程序后,哪怕是勾选了图1所示1位置的复位和运行,单片机也不会在下载完成后自动执行程序;这时,只要取消选择图2所示2位置的enable(即不勾选enable),程序就能够在执行下载程序后自动执行。如题,在很多时候,我们KEIL下进行程序开发,编绎完成后会下载到单片机中执行程序,看看运行结果。

2022-09-20 13:17:52 5724 4

原创 AVR studio 编绎警告[Warning] left shift count >= width of type导致数据出错问题分析

项目场景:一个具有使用本地数据保存的产品,在测试过程中发现数据超过65535字节时,读取数据记录的数据字节数不对,总是丢失高16位的记录数.问题描述:问题代码如下:uint32_t EEread_DataAdd(void){ uint8_t temp[4]; uint16_t high,low; uint32_t ndata; temp[0] = FLASH_0_read_eeprom_byte((uint16_t)DataAdd_EEaddr);...

2021-12-02 13:03:55 3183 1

原创 AVR单片机定时器2异步时钟模式进行休眠定时唤醒时,定时器不工作的问题总结

AVR单片机ATMEGA88利用定时器2异步时钟模式进行休眠定时唤醒时,定时器不工作的问题总结今天调试一个ATMEGA88单片机项目,碰到一个很奇怪的问题,因项目需求,需要低功耗设计,所以在工作期间,会打开休眠模式,我的休眠设置是设为省电模式,因为项目需要设置定时进行数据采集操作,所以利用了单片机的定时器2作异步时钟,外接32.768KHz的晶振作基准时钟源,用来作秒定时中断,结果在调试时发现程序并未按照设定的定时状态工作,在进入休眠后,定时器没有正常唤醒休眠。经过2天的调试摸索,在程序中发现在进入

2021-11-04 12:01:15 950

原创 Altium Designer 20 装配变量设定

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..

2021-05-30 14:28:30 4868 1

原创 PIC单片机低功耗调试心得

PIC单片机低功耗调试心得因项目需求,需要长时间低功耗,在调试PIC16LF18系列单片机时,发现其低功耗设置的关键地方与STM32和STM8还是有很大区别的,特别整理出来记录如下 :1.PIC单片机的外设模块控制功能对功耗影响不大,实际测试,PMDx置0xFF关闭所有外设,与置 0x00打开所有外设,功耗只降低大约1uA左右。2.PIC单片机的IO口设置为输出时,且设置为OD模式时,功耗最低;实测数据:IO设置为输出无上拉和IO设置为输入弱上拉情况相似,大约在12uA左右,当设置为OD输出

2021-03-01 17:04:29 1119 1

原创 关于STM32内部晶振的一个坑

事情的起因缘于自己的产品需要用到PWM输入捕获测频率,用官方nucleo开发板,跑CUBEMX的HAL库例程:(STM32Cube_FW_L0_V1.11.0\Projects\NUCLEO-L053R8\Examples\TIM\TIM_PWMInput),发现输入捕获的误差很大,而且跟踪计数器的值跳动很大,数据没有规律。从串口打印的数据来看,计数值跳动很大。改输入定时器的捕获中断函数无效,改中断优先级无效。后面实在没办法了,想到开发板上是用的内部晶振,那我用外部晶振试试,结果有惊喜。

2020-07-14 13:42:19 3514

stm32l051_stop.rar

STM32L051使用CUBEMX配置,使用HAL库串口中断接收,使用空闲中断方式接收不定长数据,非DMA方式。同时配置了RTC,并且设置了RTC闹钟为每小时定时触发方式。程序在STM32的Nucleo开发板上实验不丢失字节。

2020-06-18

FreeRTOS在STM32上的移植

在IAR环境下移植FreeRTOS到STM32上的详细例程,开始讲述了FreeRTOS在STM32上的移植方法,最后有两个任务例程,一个LED任务和一个LCD任务。

2013-03-21

空空如也

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

TA关注的人

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