自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

转载 使用C++写嵌入式代码(使用模板) - 代码的优化

使用模板的特化或者偏特化技术可以指定在使用特定的模块时进行特殊优化。例如,有些MCU是将IO空间和存储空间分开的,在IO空间中操作是有特殊的指令的,并且可以提高速度,这时可以通过偏特化设备模板来优化这些设备。下面以AVR中的atmega系列芯片为例: 首先定义端口模板(在avr中端口寄存器一...

2018-08-13 12:38:00 347

转载 使用C++写嵌入式代码 - MCU的启动代码

嵌入式程序的启动代码,就是startup代码,一般用汇编编写,代码效率高,但和C++代码融合起来不太方便,例如,想直接在cpp文件定义中断函数就需要asm语句。 下面介绍一下avr芯片的启动过程: avr的启动分多个阶段,这些阶段以.init段的形式表现出来,n从0~9,依次调用,这...

2018-07-08 17:03:00 464

转载 使用C++写嵌入式代码 - 中断与事件

一般情况下,使用面向对象的语言时,对于一些概念自然就会想到封装,而封装后的类库其可移植性会更方便。而ISR函数具有一些特殊性不能简单地在C++中定义。 1. 在不改动启动代码的情况下: 如果不想改动启动代码,则中断函数不能直接在c++代码中定义,需要使用GCC提供的语言扩展asm("中断函...

2018-06-30 20:31:00 453

转载 使用C++写嵌入式代码 - 设备模板的声明和定义

将片上外设进行封装,可以使用如下三种技术: 使用类定义外设,然后创建对象。 POD类实现 普通的类 静态模板(所有的成员都是静态的) 这两种模板共同的特点是不需要动态分配内存,区别在于一个是静态访问成员,一个是对象方法访问,POD类型无法添加...

2018-06-27 16:40:00 159

转载 使用C++写嵌入式代码

出于个人爱好,最近几年C++的发展,使用C++开始编写mcu代码。 1. 寄存器的声明和定义: 访问MCU中的寄存器是mcu开发的基本功能,传统C程序使用宏和与或非操作来访问寄存器,之所以不使用位域来访问是因为: 代码移植(不同的编译器可能会产生不同的位序),但如果只使用一...

2018-06-27 16:07:00 911

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除