野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15749|回复: 3

野火液晶程序中的一个C语言问题

[复制链接]
发表于 2015-2-28 21:58:14 | 显示全部楼层 |阅读模式
#include "bsp_ili9341_lcd.h"
#include "ascii.h"       
#define DEBUG_DELAY()
void Lcd_Delay(__IO uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}
这段代码是火哥液晶驱动函数里的一段代码。调用DEBUG_DELAY()时没有传参数。变量nCount的值是多少呢?在C语言中是一个垃圾数据。但仿真是每次的值都是一样的。而且我把野火的液晶,GSM,NRF24L01,DHT11的代码放在一起时。在这个函数这儿很容易出问题,加了一些代码后,就容易出问题。在编译和下载都没有问题,运行和仿真就出错。
QQ截图20150228213812.jpg
QQ截图20150228213829.jpg
QQ截图20150228213836.jpg
QQ截图20150228213846.jpg
回复

使用道具 举报

发表于 2015-3-1 13:51:09 | 显示全部楼层
完整的宏应该是这样的,这样调用的时候写入参数

#define DEBUG_DELAY(ncount)    Lcd_Delay(ncount)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-1 13:53:14 | 显示全部楼层
flyleaf 发表于 2015-3-1 13:51
完整的宏应该是这样的,这样调用的时候写入参数

#define DEBUG_DELAY(ncount)    Lcd_Delay(ncount)

火哥的代码在调用时没有传参数
void LCD_REG_Config(void)
{
        /*  Power control B (CFh)  */
        DEBUG_DELAY();
        LCD_ILI9341_CMD(0xCF);
        LCD_ILI9341_Parameter(0x00);
        LCD_ILI9341_Parameter(0x81);
        LCD_ILI9341_Parameter(0x30);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-1 13:57:04 | 显示全部楼层
flyleaf 发表于 2015-3-1 13:51
完整的宏应该是这样的,这样调用的时候写入参数

#define DEBUG_DELAY(ncount)    Lcd_Delay(ncount)

DHT11,NRF24L01,液晶,这三个模块的代码,放在一起,就出问题了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 11:42 , Processed in 0.028504 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表