编译老是出现图中问题,是分文件出错了吗?

2019-07-15 15:31发布

编译老是出现这样的问题,我不知道是不是分文件出错了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
colin1125
1楼-- · 2019-07-15 17:25
[C] 纯文本查看 复制代码
这是主函数:[C] 纯文本查看 复制代码
#include <msp430x16x.h>#include"Config.h"#include"12864.h"#include"keyboard.h"//***********************************************************************//                   系统时钟初始化,外部8M晶振//***********************************************************************void Clock_Init(){  uchar i;  BCSCTL1&=~XT2OFF;                 //打开XT2振荡器  BCSCTL2|=SELM1+SELS;              //MCLK为8MHZ,SMCLK为8MHZ  do{    IFG1&=~OFIFG;                   //清楚振荡器错误标志    for(i=0;i<100;i++)       _NOP();  }  while((IFG1&OFIFG)!=0);           //如果标志位1,则继续循环等待  IFG1&=~OFIFG; }void LCD_DisplayKey(uchar keynum){      LCD_write_char(0x06,1,0x30+keynum);}void main(void){   WDT_Init();  Clock_Init();                             //时钟初始化  Port_init();  keyPort_init();                          //端口初始化,用于控制IO口输入或输出  LCD_init();                         //液晶参数初始化设置  LCD_clear();                        //清屏  LCD_Desk();  while(1)  {     keyscan();            switch(key)            {                case 0:LCD_DisplayKey(1);break;                case 1:LCD_DisplayKey(2);break;                case 2:LCD_DisplayKey(3);break;                case 3:LCD_DisplayKey(4);break;                case 4:LCD_DisplayKey(5);break;                case 5:LCD_DisplayKey(6);break;                case 6:LCD_DisplayKey(7);break;                case 7:LCD_DisplayKey(8);break;                case 8:LCD_DisplayKey(9);break;                case 9:LCD_DisplayKey(10);break;                                           }  }}[C] 纯文本查看 复制代码
这是按键扫描程序:[C] 纯文本查看 复制代码
#include "keyboard.h"#include"Config.h"void keyPort_init(){  P1SEL = 0x00;                   //P1普通IO功能  P1DIR = 0x0f;                   //P0~p3设置为输出模式,p4~p7为输入  P3SEL = 0x00;                   //P3口普通IO功能  P3DIR = 0xFF;                   //P3口输出模式,驱动led}//4*4矩阵键盘扫描程序,检测第一列S6~S18 uchar keyscan(void){       uchar temp;    /*************************扫描第1行***********************/    P1OUT=0x0e;    temp=P1IN&0xf0;//    if(temp!=0xf0)    // 说明高四位有低电平输入    {     delay_ms(10);      if(temp!=0xf0)      {         temp=P1IN&0xf0;          switch(temp)          {            case 0xe0: key=0; break;            case 0xd0: key=1; break;                      case 0xb0: key=2; break;                          case 0x70: key=3; break;          }        }          }     /*************************扫描第2行***********************/    P1OUT=0x0d;    temp=P1IN&0xf0;    if(temp!=0xf0)    // 说明高四位有低电平输入    {     delay_ms(10);      if(temp!=0xf0)      {         temp=P1IN&0xf0;          switch(temp)          {            case 0xe0: key=4; break;            case 0xd0: key=5; break;                      case 0xb0: key=6; break;                          case 0x70: key=7; break;          }        }          }    P1OUT=0x0b;    temp=P1IN&0xf0;    if(temp!=0xf0)    // 说明高四位有低电平输入    {     delay_ms(10);      if(temp!=0xf0)      {         temp=P1IN&0xf0;          switch(temp)          {            case 0xe0: key=8; break;            case 0xd0: key=9; break;                      case 0xb0: key=10; break;                          case 0x70: key=11; break;          }        }          }    P1OUT=0x07;    temp=P1IN&0xf0;    if(temp!=0xf0)    // 说明高四位有低电平输入    {     delay_ms(10);      if(temp!=0xf0)      {         temp=P1IN&0xf0;          switch(temp)          {            case 0xe0: key=12; break;            case 0xd0: key=13; break;                      case 0xb0: key=14; break;                          case 0x70: key=15; break;                      }        }          }     return key;      }[C] 纯文本查看 复制代码
这是液晶显示:#include"12864.h"#include"Config.h"//*************************************************************************//初始化IO口子程序//*************************************************************************void Port_init(){  P4SEL = 0x00;  P4DIR = 0xFF;  P5SEL = 0x00;  P5DIR|= BIT0 + BIT1 + BIT5 + BIT6 + BIT7;  PSB_SET;  //液晶并口方式  RST_SET;}//***********************************************************************//显示屏命令写入函数//***********************************************************************void LCD_write_com(unsigned char com) {  RS_CLR;  RW_CLR;  EN_SET;  DataPort = com;  delay_ms(5);  EN_CLR;}//***********************************************************************//显示屏数据写入函数//***********************************************************************void LCD_write_data(unsigned char data) {  RS_SET;  RW_CLR;  EN_SET;  DataPort = data;  delay_ms(5);  EN_CLR;}//***********************************************************************//显示屏清空显示//***********************************************************************void LCD_clear(void) {  LCD_write_com(0x01);  delay_ms(5);}//***********************************************************************//函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字//***********************************************************************void DisplayCgrom(uchar addr,uchar *hz){  LCD_write_com(addr);  delay_ms(5);  while(*hz != '')    {    LCD_write_data(*hz);    hz++;    delay_ms(5);  }} //***********************************************************************//显示屏单字符写入函数//***********************************************************************void LCD_write_char(unsigned char x,unsigned char y,unsigned char data) {    if (y == 0)     {    LCD_write_com(0x80 + x);        //第一行显示    }    if(y == 1)     {    LCD_write_com(0x90 + x);        //第二行显示    }    if (y == 2)     {    LCD_write_com(0x88 + x);        //第三行显示    }    if(y == 3)     {    LCD_write_com(0x98 + x);        //第四行显示    }    delay_ms(1);    LCD_write_data(data);    delay_ms(1);}//****************************************************************//函数名称:Display()显示测试结果//****************************************************************void Display(void){  DisplayCgrom(0x80,"欣世纪电子欢迎你");  DisplayCgrom(0x88,"旺:jingyehanxing");  DisplayCgrom(0x90,"www.avrgcc.com  ");  DisplayCgrom(0x98,"电话057487470625");}//***********************************************************************//显示屏初始化函数//***********************************************************************void LCD_init(void) {  LCD_write_com(FUN_MODE);//显示模式设置  delay_ms(5);  LCD_write_com(FUN_MODE);//显示模式设置  delay_ms(5);  LCD_write_com(CURSE_DIR);//显示模式设置  delay_ms(5);  LCD_write_com(DISPLAY_ON);//显示开  delay_ms(5);  LCD_write_com(CLEAR_SCREEN);//清屏  delay_ms(5);}//***********************************************************************//      液晶显示界面初始化//***********************************************************************void LCD_Desk(void){      LCD_clear(); DisplayCgrom(0x80,"苏职大欢迎你");  DisplayCgrom(0x90,"当前键值是:");  delay_ms(250);}
pu76543
2楼-- · 2019-07-15 18:32
目测可能是头文件重复引用问题。

一周热门 更多>