首页 » 科学 » 嵌入式开拓:若何为PIC®或AVR®MCU编写裸机代码_代码_存放器

嵌入式开拓:若何为PIC®或AVR®MCU编写裸机代码_代码_存放器

admin 2025-01-15 09:35:47 0

扫一扫用手机浏览

文章目录 [+]

常日,这取决于MCU上不同外设的组合。
例如,你可能有严格的仿照丈量运用哀求,哀求仔细检讨MCU的模数转换器(ADC)。
在一种运用中,PIC MCU的10位仿照数字转换器(ADCC)外围设备(视频)可能具有上风,由于支持各种类型的独立于核心的后采样打算。
对付另一个运用,AVR MCU的12位差分ADC可能由于其分辨率或与AVR MCU的事宜系统一起操作而具有上风。
这两种ADC都供应相对专门的功能,根据运用哀求供应某些上风。

嵌入式开拓:若何为PIC®或AVR®MCU编写裸机代码_代码_存放器 嵌入式开拓:若何为PIC®或AVR®MCU编写裸机代码_代码_存放器 科学

嵌入式开拓:若何为PIC®或AVR®MCU编写裸机代码_代码_存放器 嵌入式开拓:若何为PIC®或AVR®MCU编写裸机代码_代码_存放器 科学
(图片来自网络侵删)

熟习生态系统的支持对MCU选择有重大影响。
为了将重点放在为其设计选择最佳的MCU和外围设备上,在过去的几年中,已经做出了巨大的努力来调度PIC和AVR MCU产品系列的工具支持。
Microchip仍致力于支持Atmel Studio 7和Atmel START生态系统中的新AVR设备。
此外,AVR MCU已添加到MPLAB X集成开拓环境(IDE)和MPLAB代码配置器(MCC),统一了这些MCU系列之间的开拓履历。
通用工具生态系统的支持旨在让你快速利用新的MCU系列,显著降落探索障碍。
然而,对付嵌入式开拓职员来说,利用MCU进行舒适的开拓比工具生态系统更深入,一贯到寄存器级或裸机编码。

理解项目中的所有代码

MPLAB代码配置器(MCC)或Atmel START等代码天生工具是在设计中节省大量韶光的绝佳方法。
但是,如果你不理解这些工具天生的代码,你可能永久不会对它们感到完备满意。
具有讽刺意味的是,你可能只在不再须要该工具时才信赖它。
作为一名嵌入式开拓职员,你还知道,如果不自己至少修正一些寄存器级代码,就不可能进入生产环境。

裸机编码:利用设备数据表和头文件作为紧张编程参考

MCU由几个构建块或模块组成:CPU、SRAM、闪存、EEPROM和外围设备(如ADC)。
个中每一项都在设备数据表中定义,并可通过寄存器进行配置。
“裸机编码”中的“金属”指的是设备寄存器,因此它指的是写入配置MCU模块所需的寄存器级代码的实践。
该寄存器级代码的形式受设备头文件的影响,而设备头文件又受MCU外围模块(数据表)的构造的影响。
以是,高效地编写裸机代码须要数据表模块构造以及头文件定义的事情知识。
除代码示例外,在该级别开拓的紧张编程参考常日是MCU数据表和设备头文件。

裸机编码是一种嵌入式开拓技能,每每须要在同一MCU系列上的多个项目中节制。
对付特定的MCU,工程师熟习MCU系列的数据表模块和头文件的组织办法的隐式模式。
对这些模式的理解有助于该MCU系列的快速开拓,但也会造成选择不同MCU的阻力,纵然它可能更适宜新项目。
随着韶光的推移,能够快速利用与头文件定义干系的命名约定,使工程师能够利用当代IDE的代码完成功能,如MPLAB X IDE(或Atmel Studio)。

MCC天生的项目的编码样式和项目构造可能与你自己实现的不同。
然而,在寄存器级别,MCC天生的代码与手动编写的代码非常相似。
因此,利用MCC天生的代码作为示例高下文,通过我们可以从PIC1000和AVR1000b运用解释中理解的内容,探索PIC和AVR MCU寄存器级代码之间的差异。
在此过程中,我们还将指出一些你可能不知道的有趣的MPLAB X IDE编辑器特性。

理解更多

相关文章