[an error occurred while processing this directive]
Вопрос по Си (CodeVision). Вот кусок кода (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено slava2005 29 октября 2005 г. 19:18

dhz=dhz+delta_f;
if (dhz>98) {dhz=0; hz=hz+1;};
if (dhz<0) {dhz=98; hz=hz-1;};
if (hz>999) {hz=0; khz=khz+1;};
if (hz<0) {hz=999; khz=khz-1;};
if (khz>999) {khz=0; mhz=mhz+1;};
if (khz<0) {khz=999; mhz=mhz-1;};
if (mhz>99) {mhz=0;};
if (mhz<0) {mhz=99;};
lcd_gotoxy(0,0);
sprintf(buf, "%02d %03d %03d,%02d Hz", mhz, khz, hz, dhz );
lcd_puts(buf);
lcd_gotoxy(0,1);
dds=(mhz*1000000)+(khz*1000)+hz;
sprintf(buf, "%lu", dds);

mhz , khz, hz - типа signed int
dds - long int

На второй строке ЖКИ (вывод dds)- бред , а не значения. Допустим mhz=99 khz=999 hz=99 - а на экране вместо 99999999 - 99456457 ??? Почему ????

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru