近来突然想起自己还学过PIC,正好上午闲来无事,突然有点时间,打算重温一下!正好MicroChip发布了新的MPLab X IDE开发环境,传说还获过什么创新大奖,但是很不幸被硬件工程师狠狠的吐过槽,垃圾之类的话语都算是表扬。自己试试吧。

安装、打开,界面很炫

打开之后,也很炫

建立项目出现问题

不能从开始页建立工程,什么原因,我也不知道,反正是不行

从File建立一个Test工程

输入代码:

#include <pic.h>
__CONFIG(XT&WDTDIS&LVPDIS);
//定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程
void main()
{
TRISC=0x00;
PORTC=0xF0;
while(1)
{
}
}

编译,问题来了。

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `G:/MpLab/Test.X'
make  -f nbproject/Makefile-default.mk dist/default/production/Test.X.production.hex
make[2]: Entering directory `G:/MpLab/Test.X'
"D:\Program Files (x86)\HI-TECH Software\PICC\9.83\bin\picc.exe"  -odist/default/production/Test.X.production.cof  -mdist/default/production/Test.X.production.map --summary=default,-psect,-class,+mem,-hex --chip=16F877 -P --runtime=default,+clear,+init,-keep,+osccal,-resetbits,-download,-stackcall,+clib --summary=default,-psect,-class,+mem,-hex --opt=default,+asm,-asmfile,-speed,+space,-debug,9 -N31 --warn=0  --double=24 --float=24 --addrqual=ignore --mode=lite --output=default,-inhx032 -g --asmlist "--errformat=%%f:%%l: error: %%s" "--msgformat=%%f:%%l: advisory: %%s" "--warnformat=%%f:%%l warning: %%s" build/default/production/newmain.p1 
HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode)  V9.83
Copyright (C) 2011 Microchip Technology Inc.
Serial number: HCPICP-123456 (PRO)
make[2]: *** [dist/default/production/Test.X.production.hex] Error 1
C:\Users\��\AppData\Local\Temp\s4bo.:45: error: undefined symbol "LVPDIS"
C:\Users\��\AppData\Local\Temp\s4bo.:45: error: undefined symbol "WDTDIS"
C:\Users\��\AppData\Local\Temp\s4bo.:45: error: undefined symbol "XT"
make[2]: Leaving directory `G:/MpLab/Test.X'
make[1]: Leaving directory `G:/MpLab/Test.X'
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 1s)

总之是失败!还两个错误!!!

难道水平降低了?就这么几行,这可是原来运行正确的代码,不可能出错的。

排错吧,未定义的常量

error: undefined symbol "LVPDIS"
error: undefined symbol "WDTDIS"
undefined symbol "XT"

打开,Hi Tech的文件夹,找到pic.h文件和pic16f877.h文件查看。

发现常量定义变了

// Config Register: CONFIG
#define CONFIG               0x2007
// Oscillator Selection bits
// RC oscillator
#define FOSC_EXTRC           0xFFFF
// HS oscillator
#define FOSC_HS              0xFFFE
// XT oscillator
#define FOSC_XT              0xFFFD
// LP oscillator
#define FOSC_LP              0xFFFC
// Watchdog Timer Enable bit
// WDT enabled
#define WDTE_ON              0xFFFF
// WDT disabled
#define WDTE_OFF             0xFFFB
// Power-up Timer Enable bit
// PWRT disabled
#define PWRTE_OFF            0xFFFF
// PWRT enabled
#define PWRTE_ON             0xFFF7
// FLASH Program Memory Code Protection bits
// Code protection off
#define CP_OFF               0xFFFF
// 1F00h to 1FFFh code protected
#define CP_UPPER_256         0xEFEF
// 1000h to 1FFFh code protected
#define CP_HALF              0xDFDF
// 0000h to 1FFFh code protected
#define CP_All               0xCFCF
// Brown-out Reset Enable bit
// BOR enabled
#define BOREN_ON             0xFFFF
// BOR disabled
#define BOREN_OFF            0xFFBF
// Low Voltage In-Circuit Serial Programming Enable bit
// RB3/PGM pin has PGM function; low-voltage programming enabled
#define LVP_ON               0xFFFF
// RB3 is digital I/O, HV on MCLR must be used for programming
#define LVP_OFF              0xFF7F
// Data EE Memory Code Protection
// Code Protection off

一点示例

原代码改成

#include <pic.h>
__CONFIG(FOSC_XT&WDTE_OFF&LVP_OFF);
//定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程
void main()
{
TRISC=0x00;
PORTC=0xF0;
while(1)
{
}
}

编译通过,不错。

后来终于发现PICC的版本不同,常量定义有所不同,准备动手之前做好功课,不然……,就这么点小问题,困扰了我一上午,记下来,警示+备忘。

http://www.cnblogs.com/wangluojisuan/archive/2012/12/20/2826270.html

MPLab X 配置字的设置相关推荐

  1. MPLAB程序中如何设置配置字

    基于MPLAB X IDE配置位设置讲解 在不同的芯片中其配置字不尽相同,但是管家最常用到的有如下几部分: 1,芯片的振荡模式,有内外之分,还有三个速度的选择 2,片内看门狗的启用,配置字中有专门控制 ...

  2. 【转】PIC单片机的配置字总结

    平台为:MPLAB V8.92,这个ID有两个编译选项:DEBUG和RELEASE,那么可以根据系统预定宏来自动根据选择模式,配置配置字. 一.PIC18F系列配置字编写 MUC: PIC18F455 ...

  3. pic单片机配置字c语言,PIC单片机配置字说明及使用.pdf

    PIC单片机配置字说明及使用 PIC 单片机器件配置字简介和使用 在PIC系列单片机里,其芯片内部大都有设置一个特殊的程序存储单元,地 址为2007 ,由单片机的用户自由配置,用来定义一些单片机功能电 ...

  4. Confluence 6 配置 HTTP 超时设置

    当宏,例如 RSS Macro 进行 HTTP 请求的时候,有可能因为请求的时间比较长,而导致超时.你可以通过设置系统参数来避免这个问题. 配置 HTTP 超时设置: 在屏幕的右上角单击 控制台按钮  ...

  5. d06调试详细说明_PIC系列单片机配置字详细介绍(长期实践总结的压箱底资料)

    (注:本文档主要根据PIC16F193X数据手册编写,对于其他型号的单片机,其配置字可能略有不同,此外本文部分参考了PIC18F78K22数据手册,因而部分注释了两个系列单片机的区别) 1.FCMEN ...

  6. PIC芯片调试记录:配置字对程序调试和烧录后是否工作的影响,及部分应用总结

    在实际应用中,出现过配置字不同,仿真程序能工作,但是下载到芯片后,程序不能运行的情况,后面修改相应的配置字后,程序下载后可以能正常运行.补充:后面在开发过程中,发现还是出现程序下载后不能运行,后面测量 ...

  7. PIC16F877A单片机(如何写 配置字)

    PIC16F877A单片机(配置字) 1 MPLAB X V5.0,编译器为XC8(V2.0) 2 MPLAB V5.0,编译器为PICC 1 MPLAB X V5.0,编译器为XC8(V2.0) 单 ...

  8. PIC单片机配置字Configuration Bits使用经验

    1.PIC16F1518单片机在其存储器0x8007和0x8008地址有2个配置寄存器,用来配置整个芯片的功能. 配置寄存器跟特殊寄存器(配置外设)的区别在于,配置寄存器在程序烧录的时候一次性完成,程 ...

  9. 烧录器配置字参数说明

    UBA start block表示程序文件从第几block开始进行烧录,默认是从0000开始. Size of UBA blocks表示程序文件要烧录多少个block. 目前芯片SAMSUNGK9K8 ...

最新文章

  1. 2019春季学期第三周编程总结
  2. tox.ConfigError: ConfigError: substitution key 'posargs' not found
  3. ifix从sqlserver里读数据_ifix连接SQL和读写EXCEL的方法
  4. 转化百分比_小秘诀教你如何快速提升大众点评访客转化率!
  5. python startswith
  6. 最大似然估计 高斯分布
  7. 分隔list,让页面成多行多列遍列
  8. python网站后台_Python 网站后台扫描脚本
  9. 计算机组成中CM,基于TDN-CM++计算机组成原理课程设计.doc
  10. Strust2 本地化/国际化
  11. 部署容器jenkins_使用Jenkins部署用于进行头盔检测的烧瓶容器
  12. Linux系统U盘怎么格式化,u盘怎么格式化各系统教程
  13. 山丽防水墙客户端的卸载
  14. 微信小程序之简易音乐播放器的实现
  15. 韩国5G产品定价及营销策略剖析
  16. 怎样用N多小图片拼成一张大图?(数字图像处理)
  17. 实景三维社区网格化平台,让管理精准!快速!高效!
  18. mye clipse中svn的使用
  19. 职场选择之大公司 VS 小公司
  20. Semantic Sentence Matching with Densely-connected Recurrent and Co-attentive Information

热门文章

  1. 条件概率与事件的相互独立性
  2. Windows电脑双屏设置不一样的壁纸
  3. nomasp 博客导读:Lisp/Emacs、Algorithm、Android
  4. 有理数加法 (15 分)
  5. animate.css 动画库的下载与使用
  6. python程序设计是什么专业-那门用Python讲授的程序设计课程能带给学生什么?
  7. 四川2020年5G规划出炉!新建3万个5G基站,实现21市州和所有县5G覆盖
  8. java形参和实参的三种传递方式(值传递,地址传递,引用传递)
  9. java的prefetch()_聊聊FluxFlatMap的concurrency及prefetch参数
  10. 利用svg添加icon