
单片机
JasonComing
不要人夸颜色好,只留清气满乾坤。
展开
-
JLink v8的自我救赎 defective or does not support the following memory access Read 0x02000004
JLink v8的自我救赎你有没有用着用着JLink,突然某天醒来,发现JLink插上电脑灯不亮了?你有没有升级高版本(5.27a或更高)MDK后,一直提示你要升级JLink固件?当你点下YES的那一瞬间,你可怜(克隆)的JLink,就被盯上了,从此再也不能愉快的玩耍了。本文中所有资源都将放到码云上免费供大家下载。(码云下载更快,GitHub国内下载太慢了…)点我获取 Jlinkv8自我救赎包问题1.如果JLink插入电脑,灯都不亮,无法识别,甚至是毫无反应。请按照解决方法1去重刷固件。2原创 2020-07-17 18:10:46 · 957 阅读 · 0 评论 -
FATFS系列之解剖篇
解剖篇FAT格式解析在这里只讲解了FAT12/16的格式,FAT32读者另行拜读别的文章哈。FAT12的格式分为四大块:Boot 、FAT、Root Directory 、Data(引导区、文件配置区、根目录区、数据区)Boot 引导区:里面包含了各种启动参数,文件系统的参数。详细的参数如下表格参数名偏移位置大小(byte)描述BS_JmpBoot03引导码,一般是0xEB,0x??,0x90。??是任意值(跳转的位置)。若移植到嵌入式系统的话??可以任意填,无影响原创 2020-05-26 14:25:14 · 545 阅读 · 0 评论 -
FATFS系列之历史篇
历史篇FAT全称File Allocation Tab(文件配置表),故名思意是用来管理文件的东西。是Microsoft为了MS-DOS开发的文件系统,同时也是非NT(new technology)内核的windows使用的文件系统,这里解释一下非NT内核就是windonws2000之前的版本都是非NT内核的。FAT文件系统考虑当时电脑性能有限,未考虑复杂化,因此几乎所有PC的操作系统都支持。这个特点使它成为理想的软盘和存储卡的文件系统,可以在不同的操作系统中进行数据交互。题外话:所以MAC不能识原创 2020-05-26 14:22:15 · 605 阅读 · 0 评论 -
STM32CubeMX使用问题之 "but MDK-ARM project generation have a problem"
缘起:在我原有的Cube项目中,再去添加功能重新生成就出现 but MDK-ARM project generation have a problem解决方案: 方法一:含有中文路径,改全英文。显然我的工程不是这个问题 方法二:先打开原有工程编译一遍再重新生成。为什么这样可以?我也不知道。先MARK下...原创 2020-01-21 17:09:19 · 6519 阅读 · 6 评论 -
STM32F407外挂SRAM应用
硬件方面:IS62WV51216(具体硬件连接请看原子哥的原理图,这里不做描述)软件方面:主要两件事修改startup_xxx.s 堆栈地址并在__main函数前初始化FSMC修改.sct文件(分散加载),添加外部SRAM的使用空间及大小。具体步骤如下://startup_stm32f407xx.s部分...原创 2019-12-23 13:01:46 · 3421 阅读 · 0 评论 -
STM32Cube之GPIO能读取设置为输出模式引脚的高低电平
在看HAL库代码的时候,发现如果是HAL_GPIO_ReadPin读取设置为输出模式的引脚高低电平也是能读取成功的。这个现象引起作者的好奇心,进一步看了STM32的参考手册(如下图3)与HAL_GPIO_WritePin函数的实现(如下图2)。答案就很显然了。HAL_GPIO_WritePin是通过修改GPIO的BSRR寄存器来达到将具体某个引脚置位或清零的。从参考手册也可以发现,修改BSRR的同...原创 2019-09-10 17:55:57 · 14230 阅读 · 7 评论 -
Keil C51 printf显示不正常
在调试基于STC15芯片的单片机时,使用printf能灵活的显示信息,方便调试。关于如何在STC系列的单片机中使用,这里简单提一下包含头文件 stdio.h重写 putchar函数回到正题:当我如下编写代码时char chr = 100;printf("%d",chr);显示的并不是100,而是随机的16位数据。随后找C51的帮助文档发现这么两句话:The option...原创 2019-07-01 10:50:41 · 2837 阅读 · 0 评论 -
在Keil C51中的Warnning L7/L16/L1/L2
最近在测试STC15的板子,用到了printf函数。这过程中犯了一个低级错误,故记录下来以免日后再犯。出现的错误如下Rebuild started: Project: PrintRebuild target 'Target 1'compiling printf.c...linking...*** WARNING L7: MODULE NAME NOT UNIQUE MOD...原创 2019-06-29 11:16:25 · 4016 阅读 · 0 评论 -
FreeRTOS中两个同等级无阻塞打印任务,只有一个能正常打印
环境:STM32CubeMX+MDK5printf重定向用的是官方例子#ifdef __GNUC__ /* With GCC, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOT...原创 2019-07-03 17:40:06 · 1483 阅读 · 8 评论 -
DHT11采集数据异常——由Keil版本不同引发的血案
笔者最近在调试DHT11的时候,使用Keil-C51中的Keil5版本编译DHT11例程(网上普遍能找到的),下载到STC89C52中看到采集到的数据都是0,于是乎我就看了一下例程中的版本是uv2的,也就是keil2了,我分别下载了keil2、keil4两个版本进行测试。结论:经keil2或keil4编译后的文件,是可以正常采集DHT11的数据。而keil5编译后的文件,采集到的DHT11...原创 2019-04-21 15:14:46 · 4198 阅读 · 9 评论 -
PC与STM32通信问题个人总结
问题:RS485通信---PC与STM32F4通信,PC接USB转485与STM32F4板上的SP3485模块通信 1.只能收不能发 2.发送标志位USART_FLAG_TC和USART_FLAG_TXE的区别 3.乱码解决方案总结: 1.这个问题可能存在两个方面的情况 软件问题:要仔细查看代码是否正确,比如配置时钟是否都打开了,配置是...原创 2019-01-12 22:21:18 · 2812 阅读 · 0 评论 -
C51程序溢出错误Program Size: data=132.1 xdata=0 code=3022 Target not created.
出现的错误如下*** ERROR L107: ADDRESS SPACE OVERFLOW*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNALProgram Size: data=132.1 xdata=0 code=3022Targ...原创 2019-01-02 15:57:33 · 15631 阅读 · 9 评论