完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,伙计,附件是我的4位16×2液晶显示屏的截图。我不断得到警告373“隐式签名到无符号转换”。你会看到它在第148行和第157行。我在C代码上仍然是新的,所以我确信我正在做愚蠢的错误。有人可以帮助我还是指引我正确的方向。
以上来自于百度翻译 以下为原文 Hi Guys, Attached is a screenshot of my 4 bit 16 x 2 LCD code. I continuously get warning 373 "implicit signed to unsigned conversion". You will see that its on line 148 and 157. I'm still new at C code so i'm sure I'm doing something stupidly wrong. Can somebody please assist me or point me in the right direction. Attached Image(s) |
|
相关推荐
14个回答
|
|
编译时,编译器会发出警告吗?还是只有IDE在抱怨?
以上来自于百度翻译 以下为原文 Does the compiler give this warning when you build, or is it only the IDE that is complaining? |
|
|
|
是的,他说“警告373”,所以我猜这是一个编译器的事情,我几乎肯定它是同一个上周出来的(“过度狂热”),但现在找不到线索…
以上来自于百度翻译 以下为原文 Yeah, he said "warning 373" so I guess it's a compiler thing I am almost sure it is the same one that came out last week ("over-zealous") but can't find the thread right now... |
|
|
|
当我构建和清理时,它会给我错误。我的LCD与我编写的基本代码一起工作,但有时当我下载代码时,屏幕上会有垃圾。然后我循环电源和LCD显示正确的信息。所以我认为这个错误373可能与我的LCD在显示代码时发生了一些错误。
以上来自于百度翻译 以下为原文 It gives me the error when I build and clean. My LCD does work with the basic code i have written but sometimes I get crap on the screen when I download my code. Then I cycle the power and the LCD display the correct information. So I thought this error 373 might had something to do with my LCD displaying crap when I downloaded the code |
|
|
|
警告显示为警告级别4或更低;使用3或更高。或者,更不喜欢,铸造应该使它消失。
以上来自于百度翻译 以下为原文 That warning appears for Warning Level -4 or lower; use -3 or higher. Or, less prefer, casting should make it disappear. |
|
|
|
嗨1和0,你能再详细说明一下吗?或许给出简单的例子…
以上来自于百度翻译 以下为原文 Hi 1and0, Can you elaborate some more? Perhaps give and simple example..... |
|
|
|
如果“第一次运行”你的LCD显示垃圾,你可能需要一些延迟后,上电,然后执行LCD init的东西-通常一些200毫秒是可以的。
以上来自于百度翻译 以下为原文 If "on first run" your LCD shows garbage, you may need some delay after power on, before executing the LCD init stuff - usually some 200mS are ok. |
|
|
|
要么将警告级别更改为3或更高,要么这样做
以上来自于百度翻译 以下为原文 Either change warning level to -3 or higher, or do this LATD = (unsigned char) (letter >> 4) & 0x0Fu; LATD = letter & 0x0Fu; |
|
|
|
嗨1和0,它的工作就像一个魅力!我理解类型转换(unChar char),但不知道0x0FU中的u是什么意思。U是做什么的?
以上来自于百度翻译 以下为原文 Hi 1and0, It works like a charm! I understand the type casting (unsigned char) but not sure what the u in 0x0Fu means. what does the u do? |
|
|
|
C代码中的整数文字总是签名。向文字添加后缀U或U,使其未签名。
以上来自于百度翻译 以下为原文 Integer literals in C code are always signed. Add a suffix u or U to the literal makes it unsigned. |
|
|
|
感谢1和0和CinziaG,你们真棒!!!!!!!
以上来自于百度翻译 以下为原文 Thanks 1and0 and CinziaG, You guys are awesome!!!!! |
|
|
|
这是否解决了“偶然的垃圾”问题。正如Cinzia所说,这表明LCD初始化代码中的一些延迟不够长。
以上来自于百度翻译 以下为原文 Has that fixed your "occasional rubbish" problem. As Cinzia said, that indicates some of the delays in your LCD initilisation code are not long enough. |
|
|
|
HI QHB,我仍然有偶尔的胡言乱语显示在我的16×2液晶显示器。我试过延迟,先初始化。它更好,但仍然得到垃圾显示。特别是当我更新和下载我的代码到微控制器。我的忙碌和初始化代码的片段:空忙(空){EySSETHEY();γ-DelaySuh(100);R.W.DayaySUS(100);同时(LADD和0B100000);RWSSETLUVER();}空格LCDGIN(空隙){Buy();EySeththih();下面是E.S.Dayayu()10;LaDd= 0B00;;γ-DelayuUS(10);EyStUnLoW();LaDd= 0B000;Buy();Ey Seththih();LaDd= 0B1100;γ-DelayuUS(10);EyStReLoW();LaDd= 0B000;LATD= 0B000;EX-DELaythe(;10);LaDd= 0BMUN;γ-DelayuUS(10);EthStutoLoW();LaDd= 0B000;Buy();EySeththih();Lyd= 0B1100;γ-DelayuUS(10);EyStReLoW();LaDd= 0B000一九九九年七十周年Buy();EySethHethe(;10);LaDd= 0BMUN;γ-DelayuUS(10);EdSeToLoW();LaDd= 0B000;Buy();EySelthHig();LaDd= 0B001;γ-DelayuUS(10);EyStReLoWo();Labd= 0B000;*************(e);EythEththIe(1);LaDd= 0BMUN;γ-DelayuUS(1);EthStUnLoW();LaDd= 0B000;Buy();EySeththih();Lyd= 0B0110;γ-DelayuUS(1);EyStWoLoW();LaDd= 0B000;}
以上来自于百度翻译 以下为原文 Hi qhb, I still have the occasional nonsense displayed on my 16 x 2 LCD. I tried the delay be fore initialize. Its better but still get the rubbish displayed. Specially when I updated and downloaded my code to the micro controller. Below is snippet of my busy and initialization code. void busy(void) { E_SetHigh(); __delay_us(100); RW_SetHigh(); __delay_us(100); while(LATD & 0b10000000); RW_SetLow(); E_SetLow(); } void LCD_Init(void) { busy(); E_SetHigh(); __delay_us(10); LATD = 0b0010; //4 bit mode __delay_us(10); E_SetLow(); LATD = 0b000; /**************************************************************************/ busy(); E_SetHigh(); __delay_us(10); LATD = 0b0010; __delay_us(10); E_SetLow(); LATD = 0b000; busy(); E_SetHigh(); __delay_us(10); LATD = 0b1100; __delay_us(10); E_SetLow(); LATD = 0b000; /**************************************************************************/ busy(); E_SetHigh(); __delay_us(10); LATD = 0b0000; __delay_us(10); E_SetLow(); LATD = 0b000; busy(); E_SetHigh(); __delay_us(10); LATD = 0b1100; __delay_us(10); E_SetLow(); LATD = 0b000; /**************************************************************************/ busy(); E_SetHigh(); __delay_us(10); LATD = 0b0000; __delay_us(10); E_SetLow(); LATD = 0b000; busy(); E_SetHigh(); __delay_us(10); LATD = 0b0001; __delay_us(10); E_SetLow(); LATD = 0b000; /**************************************************************************/ busy(); E_SetHigh(); __delay_us(1); LATD = 0b0000; __delay_us(1); E_SetLow(); LATD = 0b000; busy(); E_SetHigh(); __delay_us(1); LATD = 0b0110; __delay_us(1); E_SetLow(); LATD = 0b000; } |
|
|
|
这个“忙”是错误的:(LATD和0B100000);你应该从PoLTD中读取。而且,如果问题在下载代码后很快发生,那可能是因为一些“引脚随机移动”而编程,这驱动了LCD疯狂。在这种情况下,您可能希望重复2-3次init序列。还是放手:
以上来自于百度翻译 以下为原文 This "busy" is wrong: while(LATD & 0b10000000); you should read from PORTD. Also, if the problem happen especially soon after downloading the code, it could be due to some "pins moving randomly" while programming, that drive mad the LCD. In this case, you may wish to repeat 2-3 times the Init sequence. Or just let it go :) |
|
|
|
谢谢Cinzia,我犯了一个愚蠢的错误,试图阅读LAT代替端口。谢谢你帮我。
以上来自于百度翻译 以下为原文 Thanks Cinzia, I made a stupid fault by trying to read the LAT in stead of the PORT. Thanks for helping me with that. |
|
|
|
只有小组成员才能发言,加入小组>>
5145 浏览 9 评论
1993 浏览 8 评论
1921 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3162 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2218 浏览 5 评论
713浏览 1评论
601浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
484浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
613浏览 0评论
512浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-11 02:26 , Processed in 1.320115 second(s), Total 101, Slave 86 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号