
单片机
文章平均质量分 60
记录、分享学习单片机的过程、心得
食叶春蚕
这个作者很懒,什么都没留下…
展开
-
volatile关键字
volatile关键字 简单讲: volatile作为指令关键字,确保本条指令不会因编译器的优化而被省略,即系统每次从变量所在内存读取数据而不是从寄存器读取备份。 volatile是C++和Java(其他语言暂时还不晓得)中的关键字,在两种语言中的作用大致相同,用法基本上是一致的 一、内存模型 1.关于内存 CPU处理速度很快,但它数据来源于内存,cpu向内存拿数据的这个过程是相对耗时的,这就会造成cpu资源浪费,为了解决这一问题,现在的处理器一般在cpu与内存之间建立多级缓存,一级缓存在cpu里也叫寄存器转载 2021-02-08 22:21:02 · 291 阅读 · 0 评论 -
Release 对程序的优化--C++
Release 对程序的优化–C++ C++程序运行有debug模式和release模式 debug模式: 一般用于程序调试,对代码不会有任何的优化,还会加入很多检测的节点,运行效率很低,速度慢; release模式: 用于程序发布版本的运行方式,会对程序进行深度、彻底的优化,运行效率高,速度快; release模式优化的几个方面: 变量: 定义的变量,比如 int a = 1; 不管中间进行多么复杂的运算、变化,只要最后没有被使用,这个变量都会被删除掉; 函数: 如果调用库函数,那就是只能老老实实ca原创 2021-02-08 21:56:34 · 1478 阅读 · 0 评论 -
extern “C“的作用详解
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码 两段代码是等价的 当然,就如同#define M x+y ;一样,同等代替在一些很特殊的场景中会出现莫名其妙的bug,这个时候你要想到这个这东西就够了。 ...原创 2020-12-13 18:41:35 · 482 阅读 · 0 评论 -
单片机(一)51单片机串口接收、发送通信
这次做课设整体不太顺利,因为学校的开发板真的是……一言难尽 这里就选择性的分享一点代码方面,有据可循,不那么玄学的问题。 1、中断 只要开了中断,一点要写中断函数,可以是 void timer0() interrupt 4 { ; } 可以是这样,先放一个空函数,不会有什么玄学问题 不信,嘿嘿????,你试试 2、SBUF发送/接收寄存器 这是个串口收发寄存器,教科书里面稀奇的是,接收、发送寄存器是两个寄存器,分别是接收寄存器、发送寄存器,不过两个寄存器的名字是一样的。可能你会疑问,他们不冲突矛盾????原创 2020-06-08 23:25:28 · 8868 阅读 · 5 评论