标题:
单片机C语言加了液晶初始化 串口就不发了 求帮忙看看是什么原因
[打印本页]
作者:
我在东北玩51
时间:
2021-5-17 15:17
标题:
单片机C语言加了液晶初始化 串口就不发了 求帮忙看看是什么原因
/*-----------------------------------------------
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h>
#include "delay.h"
#include "LCD12864.h"
/*------------------------------------------------
串口通讯初始化
------------------------------------------------*/
void UART_Init(void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装
TH1 = 0xFE; // TH1: 重装值 9600 波特率 晶振 11.0592MHz
TR1 = 1; // TR1: timer 1 打开
//EA = 1; //打开总中断
//ES = 1; //打开串口中断
TI =1;
}
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
UART_Init();
printf("AT\n");
Delay(1000);
lcm_init(); //液晶初始化
welcome0(huawei);
Delay(2000);//延时
lcm_clr(); //清屏
Clean_12864_GDRAM(); //清屏
while (1) //主循环
{
printf("AT+CSQ?\n");
Delay(3000);
}
}
加了lcm_init(); //液晶初始化
welcome0(huawei);
Delay(2000);//延时
lcm_clr(); //清屏
Clean_12864_GDRAM(); //清屏这一部分就不运行了
作者:
黄youhui
时间:
2021-5-17 16:54
1.清屏函数卡主了,你不发清屏部分源码?
2.你的串口发送printf是使用while轮询的,你发送标志位清空了吗?
3.welcome0(huawei)你这个函数的形参是什么?huawei是什么?字符串,指针,变量?
4.lcm_init(); 有没有while循环,比如IIC等待应答之类的。
作者:
wulin
时间:
2021-5-18 11:16
从这只言片语看不出问题所在。有可能定时器T1在LCD12864.c中已被用到,你再初始化串口重复操作T1就覆盖了。
作者:
jishu
时间:
2021-5-18 11:36
程序里初始化接口有问题,你把那个删除了就好了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1