| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем с индексиране на буфер. http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=8475 |
Страница 1 от 1 |
| Автор: | PIC [ Съб Яну 15, 2011 5:44 pm ] |
| Заглавие: | Проблем с индексиране на буфер. |
Здравейте, От няколко дена си блъскам главата с нещо толкова елементарно, а изобщо не потегля и не мога да измисля решение. Тази програмка има за целта да изобрази на лсд датата, като в date_buffer символите се зареждат правилно, само че на дисплея нищо не излиза, а на дебъгера се вижда, че във всеки елемент на буфера има съответния семвол изобразяващ датата. Програмката LCD_write работи, защото инициализацията и останалите символи по дисплея се изобразяват с нея. Остава ми да се съмнявам в компилатора, който е mikroC 8.0.0. unsigned char date_buffer[16]={0}; void LCD_send(unsigned char buffer[]) { char i=0; while(buffer[i]){ LCD_write(chr,buffer[i++]); } } void main() { LCD_send(date_buffer); } |
|
| Автор: | mladejat [ Съб Яну 15, 2011 6:28 pm ] |
| Заглавие: | |
Не трябва ли да е "void LCD_send(unsigned char *buffer)" ? |
|
| Автор: | valioman [ Съб Яну 15, 2011 11:56 pm ] |
| Заглавие: | |
Този while(buffer[i]){ ми се вижда мноого съмнителен . Я пробвай с прост for цикъл от 0 до strlen или засега с твърда дължина да видиш поне ще излезне ли нещо . не съм ползвал микро С ама в CCS е много добре имлементиран printf -a демек хем пишеш хем форматираш |
|
| Автор: | E1 [ Нед Яну 16, 2011 2:19 am ] |
| Заглавие: | |
Към стойностите на датата прибави ли 0х30 (48), за да ги конвертираш в ASCII за изобразяване на LCD? Дай целия код, че така не виждам какво присвояваш на chr, например. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|