单片机仿真器问题自查
- 格式:doc
- 大小:17.50 KB
- 文档页数:2
单片机使用中的错误排查与修复技巧单片机(Microcontroller)是一种集成了中央处理器、存储器和输入输出设备的微型计算机系统,常用于嵌入式系统中。
在单片机的使用过程中,由于硬件或软件问题,可能会出现各种错误。
这篇文章将介绍一些常见的错误,以及排查和修复这些错误的技巧。
一、硬件错误排查与修复技巧1. 电源问题:当单片机无法正常工作时,首先应检查电源问题。
可能的原因包括电源电压不稳定、电源连接错误或损坏的电源线。
排查方法:- 使用万用表测量电源电压,确保其在指定范围内。
- 检查电源连接是否正确,确认是否存在接触不良或松动的接线。
- 更换损坏的电源线。
修复方法:- 确保使用稳定可靠的电源。
- 确认电源线连接正确、可靠。
- 使用去噪电容或稳压电源解决电压波动问题。
2. 时钟问题:时钟信号是单片机正常工作的重要参考信号。
若时钟信号不正确或不稳定,单片机可能无法正常工作。
排查方法:- 检查时钟源选择是否正确。
- 使用示波器测量时钟信号,确认其频率和占空比是否满足要求。
- 检查时钟电路的连接是否存在接触不良或损坏。
修复方法:- 确认时钟源选择正确。
- 检查时钟电路的连接,确保其可靠性。
- 使用时钟缓冲器或外部晶振解决时钟不稳定问题。
3. 引脚问题:在单片机的使用过程中,常常会出现引脚连接错误或引脚损坏的问题。
这可能导致严重的功能故障或者不可预测的工作情况。
排查方法:- 检查引脚连接是否正确,确认是否存在接触不良或者误连的情况。
- 使用万用表或示波器测量引脚的电平,确认其是否符合预期。
- 在其他引脚上测试相同功能,以确定引脚是否损坏。
修复方法:- 修正引脚连接错误,确保连接可靠。
- 更换损坏的引脚。
- 使用外部元件(如继电器)重新分配引脚功能。
二、软件错误排查与修复技巧1. 编译错误:编译错误是开发单片机软件时常遇到的问题,通常是由于语法错误、头文件引用错误等引起的。
排查方法:- 仔细阅读编译错误信息,确定具体的错误原因。
单片机常见错误排查单片机是一种常用于嵌入式系统的微型计算机芯片,广泛应用于各种电子设备中。
然而,在单片机的开发和应用过程中,常常会遇到一些错误和问题。
本文将介绍一些常见的单片机错误,并提供排查方法,帮助大家解决问题。
一、连接错误1. 供电问题:单片机需要稳定可靠的电源供应。
如果单片机无法启动或运行不稳定,可能是供电问题导致的。
首先检查电源连接是否正确,电压是否稳定,并且确保电源满足单片机的要求。
2. 时钟问题:单片机需要外部时钟或晶振来提供时钟信号。
如果单片机没有时钟信号,可能导致无法正常工作。
检查时钟电路连接是否正确,晶振是否工作正常。
3. 引脚连接问题:单片机的引脚连接错误可能导致通信失败或功能异常。
检查引脚连接是否正确,特别注意输入输出引脚的连接。
二、程序问题1. 代码错误:单片机的程序是由开发者编写的,可能存在语法错误、逻辑错误或者算法错误。
当单片机不能按照预期运行时,检查代码是否有错误,并使用调试工具进行查找和修复。
2. 资源冲突:单片机常常需要同时使用多种资源,如定时器、串口、中断等。
如果多个资源同时使用会导致冲突,可能导致单片机无法正常运行。
检查资源的使用是否冲突,可以采用优先级调度或者合理分配资源的方法来解决冲突问题。
3. 数据存储问题:单片机的内部存储器用于存储程序代码和数据,如果存储器出现故障或者超出容量,可能导致程序无法正常执行。
检查存储器的容量是否足够,并且尽量采用合理的数据类型和存储结构来优化代码。
三、硬件问题1. 外设故障:单片机常常需要与各种外设进行通信,如传感器、LCD屏幕、键盘等。
如果外设出现故障或者连接错误,可能导致单片机无法获取正确的数据或者执行正确的操作。
检查外设的连接是否正确,并且确保外设的工作状态正常。
2. 电路设计错误:单片机所在的电路板设计可能存在问题,如布线错误、元件损坏等。
检查电路板设计是否符合规范,并且检查电路板上的元件是否正常工作。
3. 热量问题:单片机在工作过程中会产生热量,如果散热不良可能导致单片机温度过高,从而影响其正常运行。
仿真中遇到的问题及解决方法《仿真中遇到的问题及解决方法》在进行仿真工作时,难免会遇到各种各样的问题。
这些问题可能来自于仿真软件本身的限制,也可能来自于我们对仿真工作的理解不够深入。
针对这些问题,我们需要及时找到解决方法,以保证仿真工作的顺利进行。
本文将就仿真中常见的问题及其解决方法进行探讨。
1. 起因分析在进行仿真工作时,我们可能会遇到仿真模型不收敛、仿真结果不稳定、仿真时间过长等问题。
这些问题可能源于仿真模型本身的复杂性,也可能源于仿真软件的设置不当。
为了及时解决这些问题,我们需要从问题的起因进行分析。
1.1 仿真模型不收敛仿真模型不收敛是仿真工作中常见的问题之一。
当我们对某个系统进行仿真时,如果模型不收敛,就意味着我们无法得到有效的仿真结果。
这可能是因为模型中存在着过多的非线性元素,或者仿真软件的收敛条件设置不当。
解决方法:我们可以尝试简化模型,去除一些不必要的非线性元素,或者对模型进行优化。
我们可以调整仿真软件的收敛条件,增加迭代次数或调整收敛阈值,以尝试解决收敛问题。
1.2 仿真结果不稳定有时候,我们可能会发现仿真结果不稳定,即使在相同的输入条件下,仿真结果也会有较大的波动。
这可能是因为系统本身存在着不稳定性,或者仿真软件的数值计算精度不够高所导致。
解决方法:针对仿真结果不稳定的问题,我们可以尝试对系统进行稳定性分析,找出系统不稳定的原因所在,并对系统进行改进。
另外,我们还可以通过提高仿真软件的数值计算精度,或者调整相关参数来提高仿真结果的稳定性。
1.3 仿真时间过长在进行大型系统的仿真工作时,常常会遇到仿真时间过长的问题。
这可能是因为系统的复杂性导致仿真计算量过大,或者仿真软件的计算效率不高导致的。
解决方法:针对仿真时间过长的问题,我们可以尝试对系统进行分解,将复杂系统分解为若干子系统进行仿真,以减少计算量。
另外,我们还可以尝试优化仿真软件的计算设置,提高计算效率,从而缩短仿真时间。
2. 解决方法的选择在面对各种仿真问题时,我们需要灵活运用各种解决方法,以便快速解决问题将仿真工作进行下去。
单片机指令的调试与错误排查方法在单片机的开发过程中,指令调试和错误排查是非常关键的步骤。
本文将介绍一些常用的单片机指令调试和错误排查方法,帮助开发人员有效解决单片机程序中可能出现的问题。
一、调试工具的选择通常,单片机开发人员使用调试工具来进行指令调试和错误排查。
调试工具的选择对调试效率有重要影响。
常用的单片机调试工具包括仿真器、调试器和编程器等。
具体选择哪种调试工具要根据单片机型号和开发环境来决定。
一般来说,仿真器和调试器是开发人员常用的工具,它们可以提供实时调试功能,方便开发人员逐步调试程序。
二、在线调试方法在线调试是指在单片机工作状态下进行调试,可以实时观察和修改程序运行情况。
在进行在线调试时,可以根据具体情况采用以下方法:1. 断点调试:通过在程序中设置断点,可以暂停程序的执行,观察此时程序的状态和变量的值。
通过逐步执行代码,可以逐行检查程序的运行情况,发现潜在问题。
2. 单步调试:在程序暂停的情况下,可以逐条执行指令,观察每条指令的执行结果。
单步调试可以帮助开发人员快速定位错误,并找出造成问题的具体指令。
3. 观察寄存器状态:通过观察单片机的寄存器状态,可以了解程序在运行过程中寄存器的值变化情况。
寄存器是存储指令和数据的关键组件,通常是程序出错的地方。
三、离线调试方法离线调试是指将程序下载到单片机中进行调试,并观察一些指示灯或外部设备来判断程序的执行情况。
离线调试方法适用于一些无法进行在线调试的情况,例如无法连接调试器或者目标系统不支持在线调试。
常用的离线调试方法如下:1. 串口输出调试:通过在程序中插入调试代码,将关键变量的值输出到串口。
通过观察串口输出的结果,可以了解程序在运行过程中变量的取值情况。
这种方法比较简单,适用于小规模的程序调试。
2. LED指示调试:将关键变量的值映射到LED灯上。
通过观察LED灯的亮暗变化,可以判断程序是否按照预期执行。
这种方法适用于调试程序的运行状态和循环次数等问题。
Proteus仿真遇到的问题和解决方法1.引言在电子设计领域,Pr o te us是一款广泛使用的电子电路仿真软件,可以模拟和验证各种电路设计。
然而,在使用P ro te us进行仿真时,可能会遇到一些常见的问题。
本篇文档将介绍一些在P ro te us仿真过程中常见的问题,并提供相应的解决方法。
2.仿真创建问题2.1.项目文件缺失或损坏在创建仿真项目时,有时会遇到项目文件缺失或损坏的问题。
这可能导致无法打开项目或无法正常进行仿真。
解决方法:首先确保项目文件目录完整,并尝试重新打开项目文件。
如果问题仍然存在,可以尝试从备份文件中恢复项目文件,或者创建一个新的仿真项目并导入所需的电路设计。
2.2.元件库中缺少所需的元件P r ot eu s提供了丰富的元件库,但有时可能会因为版本差异或其他原因导致某些元件无法找到。
解决方法:首先检查元件库是否完整,如果确实缺少所需的元件,可以尝试下载官方或第三方提供的元件库进行补充。
另外,可以尝试手动导入元件库或者自定义元件以满足仿真需求。
3.仿真连接问题3.1.连接错误或丢失在进行仿真连接时,存在一些常见的问题,如连接错误或连接丢失。
解决方法:首先检查连接的正确性,确保每个连接符合设计要求。
如果仍然存在连接问题,可以尝试重新连接或重新布线。
另外,确保元件之间的连接是稳定可靠的,没有松动或接触不良的情况。
3.2.仿真模型不匹配有时,在进行仿真时,元件的仿真模型可能不匹配,导致仿真结果不准确或不符合预期。
解决方法:首先确认所使用的元件模型与设计要求一致,并确保其参数和功能正确设置。
如果需要,可以尝试更新元件模型或更换适用的模型以获得更准确的仿真结果。
4.仿真参数设置问题4.1.仿真时间不足设置合适的仿真时间是获得准确仿真结果的关键,过短的仿真时间可能导致仿真结果不完整或不准确。
解决方法:根据设计要求和所需的仿真结果,合理设置仿真时间。
如果存在长时间仿真的需求,可以考虑使用加速仿真功能提高仿真效率。
单片机实验遇到的问题和解决方法1. 引言在进行单片机实验时,经常会遇到各种问题。
这些问题可能包括电路设计错误、程序编写错误、传感器连接问题等。
本文将深入探讨单片机实验中常见的问题,并提供解决方法和建议。
2. 电路设计错误在进行单片机实验时,电路设计错误是常见的问题之一。
这些错误可能包括电源电压不稳定、电阻或电容值选择错误等。
解决这些问题的方法有以下几点:2.1 检查电路图:仔细检查电路图,确保电路连接正确,各个元件符合规格要求。
2.2 检查电源电压:使用万用表或示波器测量电源电压,确保电压稳定在要求范围内。
若发现电压不稳定,可以考虑更换电源或添加稳压电路。
2.3 检查元件数值:核对电阻、电容等元件数值是否与电路图一致。
确保元件数值选择正确,以保证电路正常工作。
3. 程序编写错误在单片机实验中,程序编写错误是常见的问题。
这些错误可能包括语法错误、逻辑错误等。
解决这些问题的方法有以下几点:3.1 仔细阅读编译器报错信息:当程序编译出错时,仔细阅读编译器报错信息,根据报错信息来定位问题所在,并按照报错信息的建议进行修改。
3.2 打印调试信息:在程序的关键位置加入打印调试信息的语句,以便观察程序执行过程中的变量值、状态等。
通过观察打印信息,可以快速定位问题所在。
3.3 逐步调试:将程序分段调试,逐步排查问题。
可以使用单步执行、断点调试等工具来辅助调试。
分步调试可以帮助我们发现程序中隐藏的逻辑错误。
4. 传感器连接问题在使用传感器进行单片机实验时,传感器连接问题是常见的问题。
这些问题可能包括引脚连接错误、传感器供电不足等。
解决这些问题的方法有以下几点:4.1 核对传感器连接:核对传感器引脚连接是否正确。
可以参考传感器技术手册或相关资料来确定引脚连接方式。
4.2 检查供电电压:确保传感器供电电压符合要求。
有些传感器需要稳压电源才能正常工作,若供电电压不足可能导致传感器输出不准确或无法正常工作。
4.3 使用示波器观察信号:使用示波器观察传感器输出信号波形,以确定传感器是否正常工作。
单片机实验遇到的问题和解决方法一、前言单片机是电子工程中常用的控制器件,广泛应用于各种电子设备中。
在学习和实践单片机过程中,可能会遇到各种问题。
本文将介绍几种常见的单片机实验问题及其解决方法。
二、硬件问题1. 单片机无法正常工作若单片机无法正常工作,需要检查以下硬件方面:(1)电源是否正常:检查电源是否接好,电压是否符合要求。
(2)晶振是否正常:检查晶振是否接好,频率是否符合要求。
(3)连接线路是否正确:检查连接线路是否正确接入单片机和外部器件。
2. 单片机烧毁若单片机烧毁,需要检查以下硬件方面:(1)电源是否过压或过流:使用稳压电源并设置恰当的电流保护。
(2)晶振频率是否过高:选用合适的晶振并设置合理的频率范围。
(3)使用过程中注意静电防护:穿着防静电服进行操作或使用防静电手套等防护装备。
三、软件问题1. 编译错误编译错误通常是由于程序语法错误或库文件引用错误等原因导致的。
解决方法如下:(1)仔细检查程序语法是否正确:检查程序中是否有拼写错误、语法错误等。
(2)检查库文件引用是否正确:确定所使用的库文件是否与程序匹配,且路径设置正确。
2. 程序无法下载若程序无法下载到单片机中,需要检查以下软件方面:(1)编译器设置是否正确:确保编译器设置正确,并选择合适的单片机型号。
(2)连接方式是否正确:检查连接线路和下载方式是否正确。
(3)单片机芯片保护位是否被置位:将单片机芯片保护位清零后再进行下载操作。
3. 程序运行不正常若程序运行不正常,需要检查以下软件方面:(1)变量初始化问题:确保变量被初始化为合理的值。
(2)程序逻辑问题:仔细分析程序逻辑,寻找可能存在的问题。
(3)硬件连接问题:检查硬件连接和外设驱动程序是否正确。
四、总结以上是一些常见的单片机实验问题及其解决方法。
在实践过程中,还需注意防静电、按照规范操作等细节问题。
希望本文能够对读者在学习和实践单片机过程中有所帮助。
单片机技术常见问题及解决方法解析随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
然而,由于单片机技术的复杂性和特殊性,常常会遇到一些问题。
本文将针对单片机技术常见问题进行解析,并提供解决方法。
一、程序无法正常运行当程序无法正常运行时,首先需要检查是否存在以下问题:1. 电源问题:检查电源供应是否稳定,电压是否符合要求。
如果电源电压不稳定,可以使用稳压电源或添加电容来解决。
2. 电路连接问题:检查电路连接是否正确,是否存在虚焊、短路等问题。
可以使用万用表进行测量,找出问题所在。
3. 编程问题:检查程序是否存在错误,是否与硬件连接匹配。
可以使用调试工具进行单步调试,逐行检查程序执行情况。
如果以上问题都没有解决程序无法正常运行的情况,可能是单片机本身存在问题,可以尝试更换单片机或者联系供应商进行维修。
二、IO口无法正常工作IO口无法正常工作是单片机技术中常见的问题之一。
解决方法如下:1. IO口配置错误:检查IO口的配置是否正确,包括引脚选择、工作模式、上下拉电阻等。
可以参考单片机的手册或者开发板的原理图来确认配置是否正确。
2. 外设连接问题:检查外设是否正确连接到IO口,是否存在连接错误或者虚焊现象。
可以使用示波器或者逻辑分析仪来检查信号的波形和电平。
3. 中断配置错误:如果使用了中断功能,需要检查中断的配置是否正确。
包括中断源的选择、中断优先级的设置等。
如果以上问题都没有解决IO口无法正常工作的情况,可能是单片机本身存在问题,可以尝试更换单片机或者联系供应商进行维修。
三、程序卡死或死循环程序卡死或死循环是单片机技术中常见的问题之一。
解决方法如下:1. 死循环问题:检查程序中是否存在死循环的情况,即某个循环条件无法满足导致程序一直停留在该循环中。
可以通过添加调试信息或者使用调试工具来定位问题所在。
2. 中断问题:如果使用了中断功能,需要检查中断服务程序是否正确编写,是否存在死循环的情况。
可以通过添加调试信息或者使用调试工具来定位问题所在。
USB型 MSP430仿真器 FET430UIF 的功能:◆对MSP430FLASH全系列单片机进行编程和在线仿真;◆采用标准的14 PIN标准连接器;◆USB口取电,不需要外接电源,并能给目标板或用户板提供3.3V(330mA);◆支持IAR430、AQ430、HI-TECH、GCC以及TI一些第三方编译器集成开发环境下的实时仿真、调试、单步执行、断点设置、存储器内容查看修改等;◆支持JTAG、SBW(2 Wire JTAG)接口;◆支持固件升级功能。
此仿真器完全兼容MSP-FET430UIF开发工具,在布线与布板中充分优化,保证了良好的兼容性和稳定性。
旺旺ID:5itek430仿真器常见问题解答1. 关于目标板供电,这个问题反映回来最多。
如果用仿真器供电,那么VCCI脚一定要接地。
VCCI是仿真器检测目标板电源的。
如果跟VCCO接在一起,很可能导致仿真器不输出电压,导致IAR报错,找不到芯片。
如果用外部电源供电,那么VCCI一定要接到目标板电源(一般是3.3V),VCCO悬空,一定不要跟目标板电源相连,否则,有时可能会导致仿真器输出,两个电源短路,出现意想不到的情况;2. 系统中显示USB设备有问题:这个问题有可能是USB没有安装好,有时也可能系统问题。
安装的时候选择和电脑相匹配的驱动。
如果驱动装好了。
电脑重启一下可能就好了。
如果还不行。
换台电脑再试一下。
3. 有时430单片机可能在死机状态,导致仿真器通过JTAG查询时,没有响应,导致IAR不能下载。
这时,拔掉JTAG 14pin插座,断开目标板电源,过至少1min 时间,最好用镊子把目标板电源放电完,再插上JTAG插座,进行仿真。
4. 判断仿真器是否正常的一个简单的办法是:a) 硬件管理器中USB设备工作正常(显示为msp430uif COMx口)。
b), 插入USB后,电脑有识别到新硬件的声音指示(开外放)代表仿真器自检通过。
那么仿真器一般不会有问题了。
单片机的故障排除方法单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,常用于嵌入式系统中。
由于单片机复杂的内部结构,故障排除成为使用和开发单片机的关键步骤。
本文将介绍几种常见的单片机故障排除方法。
一、检查电源供应单片机工作的基础是供给稳定的电源。
在故障排查之前,首先要确认电源供应正常。
可以通过以下方式进行检查:1. 检查电源连接:将电源线逐一检查,确保电源线连接牢固,并且没有松动或断开的现象。
2. 使用电压表测量供电电压:将电压表的正负极分别接在电源正负极上,并测量输出电压。
应确保电压值与设备的额定电压相符,且波动范围在允许范围内。
二、检查程序和代码单片机的程序和代码也可能导致故障。
在检查程序和代码之前,可以采取以下步骤:1. 检查程序的正确性:确保程序没有语法错误、编译错误或逻辑错误。
可以使用编译器或调试工具进行检查。
2. 检查引脚和端口的设置:检查程序是否正确设置了引脚和端口的输入输出状态。
确保与硬件电路相匹配。
3. 修改和优化代码:如果程序有错误或不完善的地方,可以根据错误信息进行相应的修改和优化。
三、硬件故障排查如果以上方法无法解决故障,可能是硬件问题导致的。
以下是几种常见的硬件故障排查方法:1. 检查连线和连接器:检查连接器和插座是否连接良好,并排除松动或无效连接的可能性。
2. 检查单片机是否烧毁:使用万用表或示波器测量单片机电压引脚的电压,检查是否有短路或断路的情况。
3. 检查外设电路:检查与单片机连接的外围设备电路是否损坏,确保电路板上的电子元件没有短路或断路。
四、使用调试工具和设备如果以上方法都无法找出故障原因,可以考虑使用专业的调试工具和设备。
以下是几种常见的调试工具和设备:1. 仿真器(Simulator):仿真器可以模拟单片机的工作环境,可以对单片机进行仿真调试和监视单片机的运行状态。
2. 逻辑分析仪(Logic Analyzer):逻辑分析仪可以分析和捕捉单片机的信号和波形,帮助排查信号传输和处理出现的问题。
电路问题,程序问题,开发机的问题----单片机仿真器问题自查
经常接到各类的电话,最开始都是在怀疑开发机出问题了,到最后发现了很大程度上是电路或者编程的问题,当我们对开发机本身的性能并不十分了解的时候,如何来确定呢?
一,IO输出不正常的分析。
经典51以外的RISC架构的MCU,包括一些增强型51 MCU,对IO的操作都是比较复杂的——相对于经典51。
当你发现你的IO不能输出0和1的时候,本着先软后硬的原则,你应该查一下数据手册上所有与IO相关的寄存器,不仅仅是方向寄存器和端口寄存器。
比如一些AD口,就要看看是否设置为数字IO。
当出现问题的时候,强烈建议写最土,最简单,最可靠的测试程序,虽然这看来可能比较耽误时间,但是确实最容易排除干扰的方法。
在有了最简单的测试程序后,首先应该尽量先选择从仿真器供电进行空测,如果空测IO,0,1电平正常,则至少IO的连通性是OK的,也排除了线材老化带来的接触不良的问题。
如果连空测的0,1都不出来,首先还是应该怀疑自己,这时候要认真看数据手册IO部分的说明,结构图,看看是否碰到这个口是OC口等,如果是OC,OD,需要上拉才有0,1输出,直接空测是没有任何结果的。
空测通过后,要做的是找一个LED,看能否正常驱动LED,驱动能力好的单片机,应该直接测试共阴接法的LED驱动是否OK。
如果是驱动能力比较差的,比如经典51,那就老老实实驱动共阳接法LED看是否正常。
二,IO输入不正常的分析。
当IO输入不正常的时候,比如判定一个方波或者脉冲信号,在高或低电平跳转,经常有人打电话投诉,怎么不跳转了。
首先在这个时候自己要冷静。
还是象上面的第一点的,查数据手册,写最简单的测试代码,第三步,应该是先测量一个简单的1和0电平,1电平,一般用上拉一个K级别的电阻,4.7K以上测量,0电平,则应该用下拉一个百欧姆级别的电阻(或者直接对地短路)来测试,下拉K级电阻则不一定都是可靠能拉地的,因为一但不小心某些单片机在某些状态等效于一个10K级别左右的内部弱上拉,你在用一个K级别的电阻去下拉,那输入端就是一个不规范的数字信号,天知道发生什么事情。
如果简单输入OK了,那么至少开发机是OK的,但这时候如果干上了外部信号就是不识别,那么办,外部信号先加上拉电阻,不行就加一个三极管管做驱动电路,这样就OK了。
当然如果简单输入都通不过,如果这个IO可以做输出,可以先做一下输出检测,以确保连接是否有问题。
由于仿真器系统的复杂性以及各芯片厂家仿真芯片的工艺及历史上的遗留问题,某些情况下可能是会出现奇怪的问题,比如PROBE458的CAN管脚,只有在 2004环境下才能正确做为普通输入IO,2002是不行的,不过如果用了PROBE458,确把CAN管脚废除不做CAN 通讯,本身就是比较奇怪的用法,所以2002配合PROBE458,一般在用CAN的这两个管脚如果只是做为CAN管脚使用,那就没有任何异常的感觉。
三,变量观察不到。
如果是C语言,可以先怀疑IDE软件,如果是汇编,请先怀疑自己的代码习惯。
说到代码习惯,本质上是一个问题,各大厂家的软件人员,在做编译器的时候,没有去兼容全部的风格,要兼容也是比较痛苦的,可以理解。
比如,正统的51风格,用16进制表示10,那就是0AH,但是,最正统的PIC是不承认这样的风格,这属于非法非官方的风格,用这样的风格会给工程带来毁灭性的隐患。
不信大家可以装老版本的MPLAB IDE。
由于历史的原因,很多搞PIC 的都是从51过来的,必然身上遗留了很多51的习惯,做PIC的时候要全部改掉,尤其是对进制的书写,直到去年,MCHP的官方汇编编译器是不承认51的16进制风格的,编译通过,但是它会识别错误,后续,他的IDE可能有做过处理,16进制的兼容了,但是比如2进制的书写,绝对还是自己的风格,如果按照51的方式来做,一定会死的很难看。
不论做哪个厂家的芯片,动手之前一定要认真研究厂家提供的最正统的DEMO,按照厂家的规范办事。
尤其遇到第三方工具,一定要注意是否符合厂家的规范,即使第三方强大到通过软件预处理
来兼容风格,这种做过手脚的处理也是很危险的,软件的问题是很复杂的。
另外就附带提一下大小写的问题,以PIC为例子,其他的可以参考。
中国工程师的习惯,写汇编的时候变量是不喜欢去分大小写,至少在国内最流行的51开发环境下,是不区分大小写。
但是PIC的官方IDE是在默认状态下区分的。
虽然一些第三方的IDE可能在默认状态下不区分,比如2002,PICMATEIDE,但是它们本质上保留厂家的这项功能,可以使能大小写区分功能。
一旦不区分大小写的时候,厂家出于软件设计的原因,一般在添加变量观察时,会要求用户强制使用全大写或者全小写名。
这就是有的时候为什么大家会发现内存中直接看,变量在跳,而添加后则似乎不变或者显示错误。
没有按照厂家的风格来进行添加变量。
当然一些高级的功能,比如鼠标悬停在源代码窗的变量名上上先看到变量,还可以按照自己喜欢的进制方式显示,这如果出问题就是厂家IDE的BUG了。
更多阅读:
1.系统设计者应该始终牢记的基本原则【单片机】
2.【单片机解密技术】电子产品的设计工程师必读
3.芯片解密的定义
4.电路板在PC抄板中的清洗技术
何杰与你互勉
扣扣:1994226。