- 博客(20)
- 资源 (4)
- 收藏
- 关注
转载 STM32的内存管理相关(内存架构,内存管理,map文件分析)
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。存储器映射 是用 地址来表示 对象,因为Cortex-M3是32位的单片机,因此其PC指针可以指向2^32=4G的地址空间,也就是图中的 0x00000000到0xFFFFFFFF的区间,也就是将程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内,数据字节以小端格式存放在存储器中。
2023-10-16 18:07:14
1038
1
原创 PID控制算法笔记整理1:PID算法通俗易懂的理解方式
P:比例系数I:积分系数D:微分系数1..比例系数P是干什么用,其实如果现在你是初中生的话,你一下子就懂了,比例系数就是用在穿过(0,0)这个坐标点直线的放大倍数k,k越大,直线的斜率越大,所以是用在y = k * x中的,其中的k就是比例系数p,大家都简称为kp,所以就变成了y = Kp * x。x就是当前值currentValue和目标值totalValue的差值,简称误差err,则err = currentValue - totalValue。y就是执行器对应的输出值U,所..
2021-04-01 16:29:54
1025
原创 PID控制算法笔记整理2:PID算法原理分析,数学建模
1.控制算法目的和基本思路1.1.控制的目的控制的根本目的就是要使控制对象当前的状态值与用户的设定值相同(最大限度的接近)。1.2.基本思想用户设定值SV和被控对象当前的值PV两者同时送入由特定硬件电路模型或特定的算法软件组成的控制算法逻辑中,利用不同的控制算法对SV和PV进行分析,判断,处理,从而产生当前应该输出的控制信号OUT,控制信号经过执行机构施加到控制对象上,从而产生预期的控制效果。2.常用控制算法:位式控制2.1.二位式控制算法特点:a.二位式控制算法输出
2021-04-01 16:17:45
5194
1
原创 STM32 HAL库开发笔记+示例程序第二篇:如何在MDK5下搭建一个使用非常顺手习惯的HAL工程?
因为优快云编辑器上传图片太太麻烦,需要花费大量时间和精力来上传图片。所以委曲求全将文章分享到有道云笔记,笔记链接如下链接:http://note.youdao.com/noteshare?id=eb882a7ae65707a37b452b7f83b957d5&sub=8DF19232B07D431BA8D2533B4DF94F47对应程序链接如下,大家可自行下载https://...
2019-07-30 17:58:35
1189
1
原创 STM32 HAL库开发笔记+示例程序第一篇:HAL库简介
1. HAL库简介:HAL库是ST公司为使用户高效率开发产品而开发出的一套API库,这个HAL库可以和STM32CubeMux图形化组件软件工具进行配合使用,STM32CubeMux可以根据用户的开发产品需求进行裁剪选择做出专用的程序包,这个程序包通过STM32CubeMux工具配置后自动生成。2.HAL库和lib库的区别和联系(1)联系@1.HAL库和lib库都是一套API软件接口,...
2019-07-30 16:57:44
3627
原创 C语言中指针的定义和在不同环境下作为形参的用法以及指针类型的强转
指针的定义:指针的全称是指针变量。指针本质上是一种类型,和int型,float型,double型,char型一样的,这种类型叫指针类型,定义的变量叫指针变量。int *p; 这句表达式的意思是定义了一个变量p,*符号表示我定义的这个变量p是指针类型的,而前面的int表示我定义的这个指针变量p指向一个整型,指针变量p的值就是p所指向的这个整型变量的地址,所以给指针赋值时是一个地址值
2017-10-19 13:03:20
779
原创 STM32中断数据回调函数接收处理
1.定义一个空的指针函数 指针函数的参数是uint8_t 类型chtypedef void (* usart_recv_callback)(uint8_t ch);2.声明这个类型usart_recv_callback usart1_recv_cb;3.串口配置时,一个形参为串口中断接收回调void Usart_Config(USART_TypeDef*
2017-02-16 11:38:45
8298
1
转载 C语言回调函数的定义和写法
C语言中的回调函数(Callback Function)1 定义和使用场合回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的
2017-02-14 09:07:55
30736
原创 esp8266 sprintf函数使用溢出问题
在使用ESP8266 跑freertos操作系统时,如果使用sprintf函数进行将其他数据转换成字符串格式时,如果将存储字符串的数组定义成局部数组会出现程序跑死然后重启的问题。为了避免程序跑死问题,需要将存储字符串数组定义成全局数组或者局部数组用static关键字声明。出现这种问题的原因是在线程切换时数组的地址偏移出现了问题,来回切换地址出现了问题。一般情况下我们定义成全局变量就不会出现这种问题
2017-02-07 17:02:54
2726
2
转载 linux下 gcc编译初学者使用教程
1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compil
2017-01-20 16:15:12
612
转载 linux makefile 创建 编译学习
Linux下makefile教程转自陈皓 (优快云)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义
2017-01-20 16:12:11
491
原创 stm32 SPFD5420A TFT液晶屏调试字体旋转
stm32 SPFD5420A TFT液晶屏调试字体旋转 使用安富莱开发板自带液晶屏让字体像手机屏幕字体旋转似的让字体随着屏幕的转动而转动在安富莱开发板液晶屏驱动代码里修改算法得到的下面代码是修改后的算法:/*********************************************************************
2017-01-18 17:19:44
2344
原创 ESP8266下cygdrive命令编译详解
cd命令编辑格式:/:表示电脑本身安装的cygwin的默认目录文件ls:可以列出某个文件夹里面的清单,输入命令回车后显示文件清单cd:切换当前目录至其他目录cd -:返回进入此目录前所在的目录cd ..:返回上级目录cd ../..:返回上两级目录cd / :/表示进入根目录cd /cygdrive:进入cygdrive编辑环境cd+tab键:快速寻找文件夹
2017-01-16 13:05:51
1193
原创 STM32 jlinkSWD模式下检测,下载问题解决方法
1.jlink JTAG模式下能检测到芯片,SWD模式下无法检测到芯片?解决方法1:将频率降低,重新检测解决方法2:单片机供电不要用jlink供电,jlink地和单片机地共用,单片机供电使用其他电源解决方法3:SDIO和SCLK管脚不要线使用过长,否则无法检测到2.jlink JTAG模式下能检测到芯片,SWD模式下可以检测到芯片,但下载出错?解决方法1:将
2016-09-21 09:28:07
5751
2.如何在MDK5下搭建一个使用非常顺手习惯的工程?.pdf
2019-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人