Перейти к содержанию

obb19

Members
  • Постов

    2
  • Зарегистрирован

  • Посещение

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    микроконтроллеры

Достижения obb19

Новичок

Новичок (1/14)

  • Месяц на форуме
  • Неделя на форуме
  • Преданный

Последние значки

0

Репутация

  1. А если я в начале указал ,что переменные у меня типа long, или это не влияет?
  2. obb19

    Вывод 32-битного числа

    Имею проблему с выводом числа: из регистра ICR1 на LCD экран не могу вывести числа больше 65535.В atmel studio получалось выводить числа больше 65535 на семисегментные индикаторы, но потребовалось использование LCD экрана, поэтому перешёл в CVAvr поскольку в нем есть библиотека для LCD, но в нем я не могу вывести число больше 655535. Подскажите в чем проблема #include <mega16.h> #include <alcd.h> #include <stdio.h> #include <math.h> char lcd_buffer[33] ; sfrw ICR1=0x24; unsigned long c=0,d=0; void main () { DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); DDRD=0xFF; PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); TCCR1A = (0 << WGM11) | (0 << WGM10) ; TCCR1B = (0 << ICNC1)|(0 << ICES1)|(0<<WGM13)|(0<<WGM12)|(1<<CS12)|(1<<CS11)|(0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0; ICR1L=0; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; TCNT1=0; ICR1=0; lcd_init(16); while (1) { lcd_gotoxy(1,0); lcd_putsf("Dalnost do celi"); c= (( unsigned long )ICR1); d=(unsigned long)c*1000; lcd_gotoxy(0,1); sprintf(lcd_buffer,"%u",d); lcd_puts(lcd_buffer); } }
×
×
  • Создать...