- 博客(15)
- 收藏
- 关注
转载 pid算法
以前都是盲调,在知乎上看到一边文章,还没验证,留下来看看知乎链接地址:https://zhuanlan.zhihu.com/p/118543118
2021-02-19 15:35:22 203
原创 MCU_UID解释
以GD单片机为例子:UID共96位12个字节,前两个字节分别代表X和Y坐标,之后5个字节代表晶圆LOTID,之后一个字节代表wafer ID,之后四个字节代表MCU LOTID前8个字节可以代表唯一性,后四个字节无法代表唯一性。...
2020-12-21 19:19:27 1354
转载 #include <> ““区别
内容引自:https://blog.csdn.net/cui_shuang_xi/article/details/48679505C语言中两种方式使用#include命令, #include <>与#include ””的区别一种是在包含指令#include后面”<>”将头文件名括起来。这种方式用于标准或系统提供的头文件,到保存系统标准头文件的位置查找头文件。另一种是在包含指令#include后用双引号””将头文件包括起来。这种方式常用与程序员自己的头文件。用这种格式时.
2020-12-20 14:37:23 608
原创 STM32 NVIC
最近开始研究NVIC,以前一直是用现成的,或者是修修补补,不求甚解,低效的学习方法告诉我,还是要理解技术的内在含义,否则遇到问题很麻烦,要调试很久,balabala说了一堆,进入正题NVIC含义:嵌套中断向量控制器(Nested Vectored Interrupt Controller)。优先级等级:抢占优先级(Preemption),响应优先级(Sub)。STM32使用Cortex...
2019-12-11 14:00:04 250
原创 如何解决keil与source insight里中文显示乱码问题
需求:在SI或KEIL编写中文注释时,可能在对方程序里看到时乱码情况:1 在KEIL里编写程序使用注释时,可能在SI里看到是乱码2 在SI里编写程序使用注释时,可能在KEIL里看到是乱码解决方法:使用同一种文字编码方式即可:建议都使用GB2312SI:FILE -> Reload As EncodingKEIL:Edit -> Configuration -...
2019-09-04 13:52:06 1070
原创 C语言单向链表的基本操作
掌握结构体,指针后,链表作为两种形式的集合,将C语言的作用发挥到巨大。链表知识123链表是线性表,包括两个部分:数据域&指针域数据域:存储需要保存的数据指针域:各个节点之间的连接连续性:链表在逻辑上是连续的,但物理上未必连续链表主要有单向链表,双向链表,循环链表链表操作:对于链表的操作一般包括增加,删除,修改,查找下面对单向链表进行举例操作:操作环境:keil v4,串口软件,有硬...
2018-06-27 15:22:42 7491
原创 make menuconfig的ncurses处理
问题:使用make menuconfig命令,显示如下错误:[root@MiWiFi-R3-srv linux-3.5]# make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libr...
2018-05-06 11:53:04 655
原创 结构体指针
结构体指针:指向结构体的指针。是非常普遍存在的使用方式,必须掌握!上车:typedef struct data //typedef定义结构体,别名为DATA{ int aa; int bb; int cc; int dd;}DATA;以下temp1, temp2的赋值操作都可行,temp1是指针直接指向结构体内部变量,temp2是指针转换为结构体后,再使用结构体变量访问方式。两种方式都编译过,...
2018-04-12 09:55:08 310
原创 结构体定义的几种形式
最近一直研究结构体,整理几种结构体定义方式:1、最常用定义方式:定义结构体data,此时结构体相当于一个类型,比如int,如需使用此结构体,方法同intstruct data{ char aa; char bb; char cc; int dd;}; struct data sum1, sum2;2、定义结构体data同时,定义需要使用的结构体变量sum1,sum2。...
2018-04-11 15:49:55 49451 9
原创 结构体占用内存,如何计算
最近一直研究结构体占用内存空间大小问题,在网上看了很多文章,很多都是有问题的,所以自己总结了一份,已通过验证,如有问题,请多指教!编译器环境:keil 5.0语言:C结构体占用空间计算要点:双管齐下1、内部数据对齐2、整个空间对齐入题分析:struct SIZE{double a;int b;char c;double d;};
2018-04-11 10:52:11 2971 1
原创 C语言中#和##的用法
今天在看FreeRTOS代码看到如下代码:开机初始化:log_create_module(template, PRINT_LEVEL_INFO);宏定义:#define log_create_module(_module, _level) \log_control_block_t log_control_block_##_module = \{ \ #_module, \ (DEBUG...
2018-02-10 11:16:19 437
原创 STM32-IIC
本文以MMA8452为例,介绍如何使用STM32通过IIC驱动:一、什么是IICIIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信...
2017-12-08 20:24:40 991
原创 STM32-USART
#include "stm32f10x.h"#include "stdio.h" //标准IO库函数#include "Usart.h"void Usart_Configurtion(void){GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;//开
2017-12-08 10:48:00 331
转载 C基础 const volatile等
volatile:volatile是一个类型修饰符(type specifier),就像大家更熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。可理解为每次都从内存地址中读取数据,不从寄存器中读取。举例:精确地说就是,优化器在用到这个变量时必须每次都小
2017-12-05 14:57:46 172
原创 SourceInsight 技巧集锦
操作技巧:1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容( 2.让{ 和 } 不缩进:Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple还有:让{ 和 } 不缩进: options->document options->au
2017-12-02 11:52:58 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人