单片机
Alex.Wang~
这个作者很懒,什么都没留下…
展开
-
C8051 不能写数据
使用C8051f520芯片 在线调试发现不能给变量赋值。原创 2022-08-23 09:40:06 · 281 阅读 · 0 评论 -
STM32 IAP升级问题
问题:IAP程序跳转到APP程序,APP初始化卡死。解决:IAP程序跳转前将外设时钟恢复为禁止状态。__HAL_RCC_TIM14_CLK_DISABLE();跳转代码:typedef __IO uint32_t vu32;typedef void (*iapfun)(void); //定义一个函数类型的参数. iapfun jump2app; #define APPLICATION_START_ADDRESS ((uint32_t)0x08010000)//APP文件的起原创 2021-10-20 17:38:40 · 202 阅读 · 0 评论 -
ADT75温度传感器
温度原创 2021-09-01 18:12:39 · 147 阅读 · 0 评论 -
STM32擦除Flash失败
stm32 Flash擦除错误环境:keil5,stm32f4,rtthread3.15.现象:擦除flash总是失败。经过jlink调试发现PGPERR位总是1,经过一番折腾,在st社区找到答案。链接:https://community.st.com/s/question/0D50X00009XkWriSAF/stm32f407-flash-programming-error-pgserr-and-pgperr原因:我在代码某个任务里有更新看门狗,而实际上我没有初始化看门狗。...原创 2021-08-21 09:56:51 · 4510 阅读 · 6 评论 -
2021-06-15 STM32CubeMX使用心得
1.user labeluser label 好使。会在代码中生成相关的宏定义。2、生成的相关设计配置3.NVIC原创 2021-07-26 21:01:03 · 491 阅读 · 0 评论 -
单片机启动不成功问题
问题stm32在调试的时候没有问题,断电重启后程序不运行,接上串口模块后,重启电程序运行。原因程序使用RTT实时系统,串口使用C++类。程序是先使能了串口中断,然后new 串口类 因为串口上电有干扰,使能后进入串口中断,此时就溢出了。解决先new 串口类,再使能串口中断。...原创 2021-07-26 20:53:19 · 1658 阅读 · 0 评论 -
Keil MDK报错:Browse information of one or more files is not available
Keil编译提示Browse information of one or more files is not available。以下是解决方法:方法一:1.点击魔术棒2.在Output界面中勾选Browse Information选项,再点击OK3.最后再重新编译方法二:把相对应的文件重新写一遍,删掉相对应的文件,再把重新写的添加进去,重新编译。方法三:出现这种情况可能是因为代码使用的C99方式的代码。这里只需要打开魔术棒,点C/C++,将C99mode勾上就行了。具体如图:方法四:原创 2021-06-30 14:31:22 · 2405 阅读 · 2 评论 -
PWM相位差
#include "tim.h"#include "stm32f10x.h"void TIM3_Config(uint16_t pre,uint16_t arr){ TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); //这个函数就在一开始的时候使用切记 TIM_DeInit(TIM3); //TIM TIM原创 2020-12-19 19:09:12 · 1975 阅读 · 0 评论 -
STM32 重映射后如何恢复成普通模式
STM32 重映射后如何恢复成普通模式 GPIO_PinRemapConfig(GPIO_FullRemap_TIM1, DISABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, DISABLE); //AFIO复用功能模块时钟 切记:一定是先清除管脚,后清除时钟。非常重要!remap一定要在时钟使能之后配置,否则无效...原创 2020-12-19 19:08:51 · 512 阅读 · 0 评论 -
keil5仿真错误:Encountered an improper argument 原因及解决办法
现象:仿真结束,退出仿真时报错。无法正常关闭keil软件,只能通过任务管理器强制结束进程关闭。解决办法:清除所有断点再关闭。原创 2020-12-19 19:08:34 · 4994 阅读 · 2 评论 -
PWM互补输出问题
PWM互补输出问题1、PWM互补输出通道上电有一个短暂的高电平。需要干掉解决方式:TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;//指定空闲状态下的TIM互补输出比较的引脚状态。原创 2020-06-18 12:43:51 · 3363 阅读 · 1 评论 -
陌生板子或者模块调试
陌生板子或者模块调试:1、测试电源电压。2、测试板子的阻抗有没短路。3、加电时慢慢加,比如额定电压是12V,先加2V,测试各个节点的电压。然后慢慢升压,再测试。防止个别器件损坏,烧坏板子。...原创 2020-06-18 12:43:19 · 267 阅读 · 0 评论 -
STM32F103C8T6的TIM1的CH1、CH2、CH3三路互补PWM实现四路PWM两两输出
STM32F103C8T6的TIM1的CH1、CH2、CH3三路互补PWM实现四路PWM两两输出需求:1、当第一第二组输出的时候,三四组不输出。2、当三四组输出的时候,第一第二组不输出。3、STM32F103C8T6的TIM1只有三组互补输出。需要把ch2交替使用。具体电路图如下1、当ch1和ch2输出的时候。A0和A1设置为模拟输入模式,避免影响ch2的电平。A4和A5设置为输出模式,输出低电平。避免第三组有输出。2、当ch2和ch3输出的时候。A4和A4设置为模拟输入模式,避免影响ch2的原创 2020-06-18 12:40:59 · 7170 阅读 · 1 评论 -
串口调试问题
1、现象labview写的上位机,给下位机发指令,不能正常工作。收数据确实正常的。用串口调试工具发指令,工作正常。用虚拟串口工具,用labview软件发指令是正确的。2、解决过程下位机调试运行发现只收到一半数据。用示波器看labview下发的数据,数据只有一半。3、原因labview写的上位机,在发送串口数据后,然后关闭串口。这就会导致硬件数据还没传完,就把串口关闭了。这也解释了用虚拟串口调试,数据正常的。因为虚拟串口是软件模拟的,不会经过底层硬件。所以传输速度很快。4、解决方案1、发送完数据原创 2020-06-09 13:29:49 · 512 阅读 · 1 评论 -
三行按键扫描
新型的按键扫描程序不过我在网上游逛了很久,也看过不少源程序了,没有发现这种按键处理办法的踪迹,所以,我将他共享出来,和广大同僚们共勉。我非常坚信这种按键处理办法的便捷和高效,你可以移植到任何一种嵌入式处理器上面,因为C语言强大的可移植性。同时,这里面用到了一些分层的思想,在单片机当中也是相当有用的,也是本文的另外一个重点。对于老鸟,我建议直接看那两个表达式,然后自己想想就会懂的了,也不需要听我后面的自吹自擂了,我可没有班门弄斧的意思,hoho~~但是对于新手,我建议将全文看完。因为这是实际项目中总结出转载 2020-06-01 17:55:57 · 770 阅读 · 2 评论 -
LRC校验
unsigned char LRC(unsigned char* data, int data_len){ unsigned char lrc = 0; for (int i = 0; i < data_len; i++) { lrc ^= data[i]; //printf("%02X\n",lrc); } return lrc;}原创 2020-06-01 17:53:55 · 4811 阅读 · 0 评论 -
FreeRTOS 串口中断优先级问题
问题描述:在这里插入图片描述原创 2020-06-01 17:53:34 · 1298 阅读 · 0 评论 -
串口通信异常
1、串口通信异常问题现象:上位机下发数据正常。下位机上传数据异常。解决过程:用示波器看发送端,有数据正常。示波器表笔接到上位机的发送端。就没有数据上传了。原因:查看设计图纸,硬件设计,TX和RX的限流电阻用的是10K。取消电阻后通信正常。解决:更换限流电阻100R。...原创 2020-06-01 17:52:24 · 4356 阅读 · 0 评论 -
按键 C语言接口
#include "key.h"/*************************************************** 按键参数声明***************************************************/struct KEY_Parameter KEY_Data[KEY_MaxNum];/*************************************************** 按键短暂按下执行(功能1)注:对原创 2020-05-12 19:02:27 · 635 阅读 · 0 评论 -
W5200调试总结
1、代码是移植的W5200官方的代码,应该是没问题问题的。程序下载后,连接电脑,电脑的网络显示未连接,ping也无响应。2、Debug发现程序在printf的时候死机,是没有print重写的原因。3、不知道问题是软件问题还是硬件问题,准备在淘宝上买一个W5200验证下软件程序,淘宝卖家岁月声响,人很赞,还把他的代码给我参考,帮我们看出谋划策,手动点赞笔芯。岁月声响给的建议:① 芯片地下pa...原创 2020-03-25 20:52:52 · 986 阅读 · 0 评论 -
如何提高FLASH的擦写次数
在实际应用中,用户经常需要在程序运行过程中保存或读取一些数据,这些数据在工作中经常会变化,而且掉电后也不能丢失,所以需要及时地进行存储,存储这些数据常用的存储器是EEPROM。HXM6002虽然本身不带EEPROM,但是它支持自编程技术,可以利用FLASH来模拟EEPROM,这样不仅简化了设计,而且降低了成本。一般情况下,FLASH都是以2的n次方为一页,在执行擦除指令时,一次最少要擦除一页的数...原创 2020-03-25 20:51:48 · 6871 阅读 · 2 评论 -
ADF4360-0 编程总结
Control: FF128VCO主要是有一个八分频。原创 2020-03-04 22:46:12 · 989 阅读 · 2 评论 -
HMC704 切换频率更快问题
更改0A寄存器值。原创 2020-01-13 21:22:40 · 1077 阅读 · 0 评论 -
ADF4159 编程总结
需要注意的基本如下图。特别是CSR寄存器,需要写1原创 2020-03-04 22:07:08 · 2444 阅读 · 3 评论 -
C语言或单片机中使用bool型
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-11-13 16:57:07 · 2467 阅读 · 0 评论