![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 52
嵌入式小刘
这个作者很懒,什么都没留下…
展开
-
c语言--__attribute__ (at())地址定位
可以发现添加后,RO Data 的大小发生了变化,即定位后 FLASH 的空间占用加大,并且打开 bin 文件,可以发现中间部分由全 0 填充。绝对定位不能在函数中定义,局部变量是定义在栈区,栈区是自动分配、释放,不能定义为绝对地址,只能于函数外定义;:用来设置变量的绝对地址,指定某个变量处于内存或 FLASH 里面的某个给定的地址。定位到 flash 中,常用于固化信息,例如:设备的出厂信息,FLASH 标记等;:用来指定变量或结构位域的特殊属性,关键字后的双括弧中的内容是属性说明;转载 2024-06-05 13:57:46 · 209 阅读 · 1 评论 -
STM32堆栈方面知识点
_initial_sp 这个参数是栈顶地址,因为栈的增长是向下增长,所以这个参数我们可以理解为栈的起始地址,我设置的栈尺寸是0x400,所以栈的地址范围是 __initial_sp ~ (__initial_sp - 0x400),__initial_sp 这个参数是keil编译代码之后计算出来的,有多种方法确定。(3)如果运行freertos时,在任务里调用函数时,此时这个函数中内部的变量是存放在freertos分配的内存中,而不是栈里。(7)堆是从底部向上增长,堆栈是连接在一起的。原创 2023-05-30 18:29:50 · 6343 阅读 · 0 评论 -
char *、int *的差别
char *、int *的差别原创 2023-04-12 19:45:45 · 7763 阅读 · 1 评论 -
CAN通信注意细节
1、星型线最好要等长,线路较长的话星型首末端都加电阻,根据线路长短可适当调整电阻值,单电阻一般不要低于为120R,线路较短可适当加大电阻,电阻阻值可以通过示波器两个探头求差分信号看显性电压确认阻值,5vcan一般在2.5v差分电压比较合适,3.3V一般要超过1.5V比较合适。2、链式收尾加120R电阻(最远端和最近端),链路较短也可通过示波器确定电阻值,同星型测试方式一致。...原创 2022-07-29 14:09:28 · 2390 阅读 · 0 评论 -
keil , Debug菜单 - Reset菜单选项(Autodetect/HWreset/sysresetReq/Vectreset)含义
jlink debug详解原创 2022-07-19 23:48:06 · 800 阅读 · 0 评论 -
ubuntu下把程序下载到开发板执行
qt第一个程序在l嵌入式inux上运行转载 2022-07-19 23:46:41 · 789 阅读 · 0 评论 -
下位机程序跑飞问题解决
解决J-LINK跑飞问题原创 2022-07-15 18:04:24 · 1511 阅读 · 0 评论 -
正点原子ESP8266通过Air-LINK模式无法接入机智云的解决方案
移植机智云的代码到STM32C8T6上,利用正点原子的ATK-ESP8266接入机智云,通过串口发现日志返回的信息如下,这里我们是进入的Air-LINK模式配网,利用手机一键配置,发现连接超时,无法连接到我们的模块。于是我尝试使用AP模式来配网,修改程序如下gizwitsSetMode(WIFI_SOFTAP_MODE);//AP 模式接入然后我们再配网模块就会创建一个名称为:XPG-GAgent-XXXX的热点,默认密码为123456789,此时通过手机端的机智云APP选择热点配置,输入热点名称转载 2021-05-16 10:12:57 · 2368 阅读 · 2 评论 -
ESP8266接入机智云并将机智云生成的代码移植到自己的工程中教程
烧写固件到ESP8266将模块通过串口接入电脑,串口TX接模块RX,RX接模块TX,同时需要将8266的KEY引脚接高,。 USART_SendData(USART3,buf[i]); while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕 if(i >=2 && buf[i] == 0xFF)原创 2021-05-15 14:13:12 · 2528 阅读 · 13 评论 -
32位编译器和64位编译器各类型所占字节数以及strlen和sizeof的区别
可用如sizeof(char),sizeof(char*)等得出32位编译器: char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个转载 2021-05-07 20:17:04 · 1598 阅读 · 0 评论 -
共用体和结构体的区别(Union和typedef区别)
通过前面的讲解,我们知道结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员。在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体(Union),它的定义格式为:union 共用体名{ 成员列表};共用体有时也被称为联合或者联合体,这也是 Union 这个单词的本意。结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。结构体占用的内存大于等于所有成员占用的内存的总和原创 2021-04-29 15:44:32 · 54637 阅读 · 1 评论 -
int const *和int * const以及const int * const的区别
int const *是一个指向常量整数的指针指向了一个不能被修改的值但是指针指向的地址可以改变const在数据类型的一侧,所以可以放在int的前面const int *,(从c++ prime了解到)#include <stdio.h>int main() { const int q = 5; int const *p = &q; // 等价于 const int *p1 = &q; const int q2 = 7;转载 2021-04-29 15:34:53 · 999 阅读 · 0 评论 -
常见编程软件注释 @brief @param @return
/*** @brief @param @return @author @date @version是代码书写的一种规范* @brief :简介,简单介绍函数作用* @param :介绍函数参数* @return:函数返回类型说明* @exception NSException 可能抛出的异常.* @author zhangsan: 作者* @date 2011-07-27 22:30:00 :时间* @version 1.0 :版本 * @property ...原创 2021-03-27 19:58:32 · 106049 阅读 · 1 评论 -
typedef struct和struct的区别
typedef 声明结构体typedef struct tagMyStruct{ int iNum; long lLength;}MyStruct;这语句实际上完成两个操作:1 . 定义一个新的结构类型struct tagMyStruct{ int iNum; long lLength;};分析:tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,struct关键字和tagMyStruct一起,构成了这个结构类型,不论是否有typed原创 2021-03-27 19:03:55 · 385 阅读 · 0 评论 -
通用数字滤波算法
在仪表自动化工作中,经常需要对大量的数据进行处理,这些数据往往是一个时间序列或空间序列,这时常会用到数字滤波技术对数据进行预处理。数字滤波是指利用数学的方法对原始数据进行处理,去掉原始数据中掺杂的噪声数据,获得最具有代表性的数据集合。数据采样是一种通过间接方法取得事物状态的技术,如将事物的温度、压力、流量等属性通过一定的转换技术将其转换为电信号,然后再将电信号转换为数字化的数据。在多次转换中由于转换技术客观原因或主观原因造成采样数据中掺杂少量的噪声数据,影响了最终数据的准确性。为了防止噪声对数据结果的影响,转载 2021-03-14 22:32:08 · 1102 阅读 · 0 评论 -
typedef函数指针用法
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表)char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); }第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。第二行定义了一个函数gl转载 2021-03-11 16:37:56 · 76 阅读 · 0 评论 -
结构体字节对齐,C语言结构体字节对齐笔记
结构体内存默认分配问大家一个问题:struct STUDENT{ char a; int b;}data;如上结构体变量 data 占多少字节?char 占 1 字节,int 占 4 字节,所以总共占 5 字节吗?我们写一个程序验证一下:# include <stdio.h>struct STUDENT{ char a; int b;}data;int main(void){ printf("%p, %p\n", &data转载 2020-07-31 14:17:53 · 259 阅读 · 0 评论