引用LCD_WriteCGRAM(*str);报错:非法指针转换
#include<reg51.h>#include"delay.h"#include"LCD1602.h"void LCD_WriteCGRAM(unsigned char *str);void main(){ unsigned char str[]={0x00,0x00,0x1f,0x00,0x00,0x00,0x00,0x00};//字符“一”的代码LCDInit();DelayXms(10); //多给1602一点时间,让它空闲下来LCD_WriteCGRAM( *str); while(1);}void LCD_WriteCGRAM(unsigned char *str){ unsigned char i; LCDWriteCMD(0x40); //1、找到字符存入CGRAM(字符发生存贮器)的首地址,准备写入自建字符for(i=0;i<8;i++) //2、写入1个字符代码到0x40-0x47H地址中{LCDWriteDate(str[i]); } LCDWriteCMD(0x80|0x05);//3、找到字符写入DDRAM(数据存贮器)的地址,准备显示LCDWriteDate(0x00); //4、写入自定义字符在CGROM中的代码,找到字符 }
你的
LCD_WriteCGRAM( *str);
错了,调用函数时,要指针,不能加*了
正确的
LCD_WriteCGRAM( str);
上一篇:if函数怎么写多个条件区间
热门标签: