首页/新闻资讯/正文详情

记录一些小细节

发布时间:2026/11/11 13:27:43 来源:云帆数科 栏目:资讯中心
记录一些小细节
1.字符串赋值字符串在初始化后的赋值方式用strcpy2.scanf(%s,buff),空格、回车结束接收3.数组arr[10]只在sizeof(arr)和取地址arr时表示整个数组其余均表示数组首元素地址4.指向数组元素的指针可以与数组后面越界的指针比较不可以与前面越界的指针比较5.指针取地址是二级指针如果void hanshu(char *p)char *q;hanshu(q);此时p是指向q的指针即二级指针改变p并不会对q的值有影响形参6.const *和*const的区别const *不能改变指针所指的目标数值*const不能改变指针的值7.微库使用勾选target-Use microLib8.USART清除总线空闲中断标志位的方法是操作数据寄存器USART_ReceviceData()9.重映射一个外设可以有好几条通道通过部分重映射、完全重映射可以更改具体看stm32f103rc_datasheet.pdf10.局部变量不能返回地址当地址被释放后无法通过地址找到值11.ip地址例172.168.120:1/20子网ID是172.168.112.0子网掩码是255.255.240.0子网个数是1612.时间函数time_t time(time_t *tloc) //获得时间gmtime(time_t *clock) //获取国际时间localtime(time_t *clock) //获取当地时间asctime//将国际时间转换成字符串时间13.SPI的采样和输出采样指的是读取信号输出是指更改信号线14.公网IP在广域网上的IP私网IP在局域网上的IP15.双目操作符和||的短路原则从左到右遇到0后就不再往下运算||遇到1后就不再往下运算16.位段struct A{int a : 2;int b : 3;(位段)}17.bootloader和appkeil的设置utilities-setting-erase sectors(擦除指定区域)18.当bootloader和.s(app)都进行systeminit时钟初始化时可以将.s中的IMPORT SystemInitLDR R0, SystemInitBLX R0 三项用;屏蔽掉减小代码大小19.向量中断表偏移向量中断表偏移值程序烧录地址偏移值在SystemInit函数中的SCB-VTOR FLASH_BASE | VECT_TAB_OFFSET20.U、L、F的作用将常数强转防止溢出C语言中在常数后面加U、L、F的功能转_guanjianhe的博客-CSDN博客_常量后面加uUunsignedLlong / doubleFfloat21.结构体对齐字节#pragma packpush ---- 保存对齐状态#pragma packpop ---- 恢复push指令的对齐状态#pragma pack1 ---- 将对齐字节设置为1#pragma pack ---- 设置默认对齐字节22.条件编译#if#elif#elif#else#endif23.F407主频时钟问题F407时钟主频是168MHZ默认是25MHZ的外部高速时钟如果是8M的外部高速时钟需在工程的system_stm32f4xx.c的第370行和外设usart.c的第327行及stm32f4xx.h的第144行改25为824.__asm__ (“nop”)是内嵌汇编做空指令延时用的其中asm()的作用是指函数内部的参数翻译为汇编指令其作用是在C语言环境下直接使用汇编指令执行。nop是一个空等待汇编指令这个指令执行时单片机是什么也不做仅仅起一个时间延时作用一个nop等于一个机器周期。volatile i 5;while(i--);延时时间为5*i5个nop。asm(nop);具体延时_Mr_White01的博客-CSDN博客_asmnop延迟时间多少25.静态链接和动态链接静态链接是在形成可执行程序前(编译进去了)动态链接的进行则是程序执行时形成库文件26.枚举内存:根据成员的范围来定若成员从-1~128则需要两个字节。若0~65536需要4个字节。枚举的可以节省内存。27.MDK的htm静态调用图文件中的Maximum Stack Usage 32 bytes Unknown(cycles,Untracable Function Pointers)中的32字节指的是静态调用函数(不包含递归、回调等函数)占用栈的最大空间,一般分配的栈需要大于这个值的1倍。28.PSRAM内部和DRAM结构一样但不需要手动刷新比DRAM访问速度快比SRAM容量大、价格便宜。29.NOR FLASH和NAND FLASH异NOR FLASH可以随机按字节读取数据NAND FLASH需要按块进行读取同两者的擦除都是按块进行的NOR FLASH的擦除和写入比NAND FLASH慢30.__arttibute__((at()))的作用:绝对定位https://www.cnblogs.com/xyelectric/p/9046048.html31.keil5的内置宏定义__DATE__和__TIME__可以将编译时间固化到FLASH中keil5设置某文件总是编译右键选择文件选择options勾选always Build–DATE–------用于获取当前日期—格式— Jul 03 2020–TIME–------ 用于获取当前时间—格式—15525430.低功耗模式下的独立看门狗处理方式1.用RTC唤醒喂狗 2.手动复位后进入低功耗31.备电域引脚LSE输入和TAMPER-RTC1.当单片机的备电域引脚作为GPIO使用时速度必须限制在2MHZ以下最大负载为30pF绝对不能当做电流源如驱动LED2.当备份域第一次上电时这些引脚处于主功能状态之后复位这些引脚的状态由备份域寄存器控制。32.变长数组int arr[n] //n变量只能在数组定义前起作用1. 变长数组不能初始化2.在定义数组时变量的值必须确定且大于03.数组不能定义为全局的33.SPI时钟下降沿进行采样通信会更稳定下降沿往往是稳定的上升沿由于PCB或线路原因可能出现抖动stm32 硬件SPI接收 数据的干扰、丢包的一些感想_spi有丢包机制-CSDN博客34.FAT文件系统挂载U盘后需延时一会然后再执行文件IO。同时若文件IO返回失败有可能是需要延时一会可能跟USB驱动有关系也可能是全速设备读写太慢需要等待。35.DSP调试bootloader时的问题记录a.DSP的bootloader拷贝至RAM运行的函数可能跟全局变量的地址重复b.CCS不会检测RAM地址分配是否超过RAM大小c.DSP栈顶指针设置寄存器受保护需加解除保护EALLOW;asm( MOV SP,#0x400); /* 设置栈顶指针 */EDIS;d.bootloader调用系统时钟初始化函数函数中有用到系统延时函数F28x_usDelay若未将延时函数拷贝至RAM程序会跑飞可替换成其它用循环延时e.关于DSP的内部FLASH操作API需要添加官方的API库f.DSP使用看门狗进行软件复位给WDCR.EDCHK写入非101立即复位36.数据类型提升时高位补充符号位无符号类型无符号位则补充037.__f32toui16rC2000编译器数据类型转换将folat32转成16位整型四舍五入38.stm32的CAN过滤器28组在bxCAN中每个过滤器组都存在这么两个寄存器CAN_FxR1和CAN_FxR2这两个寄存器都是32位的他的定义并不是固定的针对不同的工作模式组合他的定义是不一样的如列表模式-32位宽模式下这两个寄存器的各位定义都是一样的都用来存储某个具体的期望通过的CAN ID这样就可以存入2个期望通过的CAN ID(标准CAN ID和扩展CAN ID均可)若在掩码模式-32位宽模式下时则CAN_FxR1用做32位宽的验证码而CAN_FxR2则用作32位宽的屏蔽码。在16位宽时CAN_FxR1和CAN_FxR2都要各自拆分成两个16位宽的寄存器来使用在列表模式-16位宽模式下CAN_FxR1和CAN_FxR2定义一样且各自拆成两个则总共可以写入4个标准CAN ID若在16位宽的掩码模式下则可以当做2对验证码屏蔽码组合来用但它只能对标准CAN ID进行过滤。这个就是bxCAN过滤器的解决方案它采用了这4种工作模式。例子验证码0x100 掩码0x100,则验证码的第9个bit有效所以能获得0x..1xx的CANID验证码0x100 掩码0x1F0,则验证码的第4-9个bit有效所以能获得0x..10x的CANIDSTM32 CAN 过滤器、滤波屏蔽器配置总结_can过滤器id和掩码设置成一样为什么不行-CSDN博客39.结构体对齐为了提高CPU寻找结构体成员的效率采用空间换时间的策略原则为对齐数该结构体成员变量自身的大小与编译器默认的一个对齐数的较小值(gcc默认为8)1.结构体成员首地址为其对齐数的整数倍数组的对齐数为数组类型大小嵌套的小结构体为其最大成员对齐数2.整个结构体的大小为对齐数的整数倍结构体嵌套结构体小结构体的对齐数是自身的成员最大对齐数40.数据类型的隐式转换1.整数提升运算时计算或比较有符号的小于int提升为int有符号的高位补符号位无符号高位补02.算术转换编译器首先会执行整数提升如果数据类型不同则会按int-unsigned int-long-unsigned long-long long-unsigned long long-float-double-long double此顺序将长度小的转换成大的常见的算术转换不适用与赋值运算逻辑运算和||41.指针运算要对一个指针进行运算时要注意指针类型如果是想取该地址进行运算则要先强转成U32类型例u16 data[10];data6 data[6]; //指针运算(u32)data6 data[3]; //无符号类型运算42.CPLD的引脚约束需要配置properties中的persist bit为043.浮点数清零不能使用内存清0如memset()函数需要一个一个赋值44.DSP的中断优先级在PIE中管理分通道优先级和组优先级组越低和通道越低则优先级越高CPU是响应组的请求然后再查找组中最高优先级的中断如当PIEIFR2.3触发中断后这时PIEIFR2.1和PIEIFR1.1中断标志也置位了那CPU查找中断向量时会先响应2.1执行完2.1后执行1.1最后2.3。此外DSP的中断默认是不嵌套的如果要嵌套要手动修改。45.CCS添加IQmath库需要在cmd文件分配数据地址可参考例程46.德维创取特定谐波谐波变量名电力组[N]谐波变量名即电力组的harmonics中的xx_hRMSN为几次谐波例I1_hRMS负载[0]即直流分量47.CLA是按32位读取的结构体中的成员变量都用32位才能正常访问成员变量如果定义成16可能会按32位寻址然后读出32位数据

相关推荐

ffmpeg编解码过程中AVCodecContex的作用分析
ffmpeg编解码过程中AVCodecContex的作用分析

主要内容 本章主要内容就是讲解ffmpeg中实现硬件加速的代码的AVCodecContext的讲解内容,主要是基于ffmpeg 4.0代码进行分析。以下流程以h264硬件编解码为例。 硬件解码过程中AVCodecContext的变化 用户设置AVCodecContext项目成员函数类型说明(description)hw_devic… · 2026/11/3 4:18:32

单一与多重继承实验(附源代码)
单一与多重继承实验(附源代码)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/9 17:21:07

libdrm相关结构体简介
libdrm相关结构体简介

主要内容 本章主要讲解libdrm相关结构体的说明。 Mode相关结构体 drmModeRes typedef struct _drmModeRes {int count_fbs;uint32_t *fbs;int count_crtcs;uint32_t *crtcs;int count_connectors;uint32_t *connectors;int count_encoders;uint32_t *encoders;uint32_t min_wid… · 2026/11/4 23:13:04

邯郸河北电工证焊工证考不过怕白交钱?官方报名入口这样用最稳妥
邯郸河北电工证焊工证考不过怕白交钱?官方报名入口这样用最稳妥

邯郸河北电工证焊工证考不过怕白交钱?官方报名入口这样用最稳妥 怕考不过白交培训费?邯郸河北电工证焊工证考试别踩坑,官方报名入口用对了,一步到位。… · 2026/11/11 13:27:39

泰州高港电工证电子证书怎么查?工地太忙根本没时间复习考试
泰州高港电工证电子证书怎么查?工地太忙根本没时间复习考试

泰州高港电工证电子证书怎么查?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多一线电工的真实写照。尤其是像泰州高港这样的区域,电工证考试和复审成为了很多从业者不得不面对的问题。随着 电子证书… · 2026/11/11 13:27:39

雄县低压电工证培训保姆级教程:工地太忙根本没时间复习考试
雄县低压电工证培训保姆级教程:工地太忙根本没时间复习考试

雄县低压电工证培训保姆级教程:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是无数一线电工师傅的共同心声。特别是在雄县这样的建筑大县,低压电工证不仅是上岗的“入场券”,更是工资涨、项目稳、机会多的关键。可偏偏这个证,不是谁都能顺… · 2026/11/11 13:27:39

甘肃高压电工证查询千万别踩坑,外省证能转吗?看看真实流程
甘肃高压电工证查询千万别踩坑,外省证能转吗?看看真实流程

甘肃高压电工证查询千万别踩坑,外省证能转吗?看看真实流程 之前考的证在外省能不能转过来?这个问题困扰了很多人,尤其是像你这样在焦作转岗、想要在甘肃继续从事高压电工工作的朋友。现在不少人都在问【甘肃高压电工证查询】,但一不小心就容易踩坑,比如… · 2026/11/11 13:27:39

南阳市哪有考电工证的官方回应:实操考试心里没底怕挂科
南阳市哪有考电工证的官方回应:实操考试心里没底怕挂科

南阳市哪有考电工证的官方回应:实操考试心里没底怕挂科 实操考试心里没底怕挂科?南阳市哪有考电工证的官方回应来了,别再被中介忽悠。很多人在报考电工证时,最怕的就是实操考试不过,耽误时间又花冤枉钱。而南阳市作为河南中部的重要城市,特种作业操作证… · 2026/11/11 13:27:39

邢职毕业有电工证吗?网上查询报名渠道别走弯路
邢职毕业有电工证吗?网上查询报名渠道别走弯路

邢职毕业有电工证吗?网上查询报名渠道别走弯路 你是不是也这样,拿着毕业证却不知道怎么考电工证?怕被中介坑?别急,这篇讲透邢职毕业有电工证吗、网上查询报名、信阳房建工程从业者的报考攻略。 ### 邢职毕业有电工证吗?证书怎么考?… · 2026/11/11 13:26:39

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/11 12:18:07

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/10 17:46:39

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/10 17:11:43

_中职电工证最新政策解读
_中职电工证最新政策解读

中职电工证在哪考?工地太忙根本没时间复习考试的救星来了 工地太忙根本没时间复习考试,这是很多正在备考 中职电工证 的建筑工友的真实写照。你不是不想考,而是真的没时间。但别担心,这期内容是 新乡初次报考人员… · 2026/11/11 0:00:52

昆明电工证培训价格值不值得考?老电工告诉你真相
昆明电工证培训价格值不值得考?老电工告诉你真相

昆明电工证培训价格值不值得考?老电工告诉你真相 之前考的证在外省能不能转过来?这个问题是很多在外地打工、换城市生活、或者是想在昆明发展的朋友最关心的。尤其是现在云南发展快,很多企业都在招持证上岗的电工,如果你手头有证但不在本地,那这个证是不… · 2026/11/11 0:00:52

特种电缆张工网上查询全攻略:外省证如何转过来
特种电缆张工网上查询全攻略:外省证如何转过来

特种电缆张工网上查询全攻略:外省证如何转过来 之前考的证在外省能不能转过来?这是很多特种作业从业者最关心的问题,尤其是像特种电缆张工这类证书,直接关系到日常工作是否合规、能否顺利晋升。很多小伙伴因为证书归属地的问题,陷入职业发展的瓶颈,甚至… · 2026/11/11 0:00:52

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 20:19:29

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 19:22:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/10 17:00:47

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码