проблема с буфером

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

Поподробнее,
А это sprintf (lcd_buf, "%u", freq ); зачем? Мы же написали ручками.
Реклама
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

чуть позже напишу про rc5 там проблема буферов , касяк в том что обработка до начала основной программы ,а дисплей только в программе и выводит
Реклама
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

сам хотел ту строку убить ,но без неё симулятор молчит(
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

Это не есть хорошо, какой то глюк(может мой), freq=0 в этой функции вот и выводит последний символ 0
А какой компилятор? Если ссылка есть, что бы не искать. В слепую тяжело что то сказать.
Может просто задержка нужна
LcdClear();
//здесь типа delay_ms(1);
LcdString(1,5);
LcdUpdate();

или вообще без LcdClear();
Реклама
Эиком - электронные компоненты и радиодетали
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

cvavr_1.25.9
спринт указывает текст ,адпейт обновка буфера лсд
1.5 ето отступ от лева и номер строки
Реклама
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

Подправил частоту умножать не нужно, в cvavr и протеусе выставлять одинаковую частоту проца
freq.rar
Реклама
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

моя прошивка в норме и нету 00 с переди ,нехвотает именно в конце 1 числа
а твоя смещена из за китайских настроек на дисплей))
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

то что выложил ты,в реале само делится(
а то что кидал я вроде и не красиво ,но мереет до 400кгц точно, но касяк в том что отсекает конец
50гц -5
500-50
5000-500 и тд(
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

А в протеусе как ? У меня правильно показывает.
И на какой частоте работает проц(в реале)?
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

в протеусе у нас наоборот) твоя правильнее) в реале 8мгц тактирование от кишок
щас перепроверил,твой на 128 пише 64 ,мой 128 в протеусе и реале
#define china 1 //если определено - работаем по алгоритмам "китайского" дисплея, иначе - оригинального
закоментиш и будет орегинальный дисплей без смещений
Последний раз редактировалось CS16AMX Чт мар 17, 2011 22:46:41, всего редактировалось 1 раз.
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

Есть возможность проверить на частоте 1 Гц в реале?
И нужно посмотреть как обновляется показания если раз в секунду норма, а если быстрее значит что то не то.
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

обновляет чётко раз в сек , и показания тоже точны, 1 герц не получить поскольку DCC у меня тини 2313 и 3310,есть проект) там шаг 400,500...1000,2к,3к,4,5...10к,20...
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

под китайский

TCCR1B=0; //Выключаем счетчик
freq=ovf;
freq*=65536;
freq+=TCNT1;


i=13;//unsigned char lcd_buf[14];
while(i--)
{
lcd_buf=' ';// в место нолика пробел
if (freq) lcd_buf=freq%10+0x30; //если не равен нулю
freq/=10;

}
i=5;// 5 символов freq:
while(i--)
{
lcd_buf[i+1]=txt;// txt[]="freq:";


}

LcdString(1,5);
LcdUpdate();



На счет частоты нужно подумать по идее формула самая первая она правильная.
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

опять делит(
freq=ovf;
freq*=65536;
freq+=TCNT1;
freq<<=1;
i=16-5;
do {
i--;
lcd_buf[i+5]=freq%10+0x30;
freq/=10;
} while(!i);
LcdClear();
sprintf (lcd_buf, "%u", freq );
LcdString(1,5);
LcdUpdate();



}
}
этот корректен, помоги только найти отсечение последнего символа
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

freq=ovf;
freq*=65536;
freq+=TCNT1;
freq<<=1; просто добавь умножение

А завтра подумаем как подправить может эти числа

i=16-5;

lcd_buf[i+5]=freq%10+0x30;
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

void main(){
TCCR1A=0;
TCCR1B=0;
TIMSK=4;
ACSR=0x80;
LcdInit();
#asm("sei")
buff[14]=0;
while (1) {
ovf=0; //Обнуляем
TCNT1=0;
TCCR1B=7; //Включаем счетчик с внешним генератором, пин T1

delay_ms(959);


TCCR1B=0; //Выключаем счетчик
freq=ovf;
freq*=65536;
freq+=TCNT1;
freq<<=1;
i=14-5;
do {
i--;
lcd_buf[i+5]=freq%10+0x30;
freq/=10;
} while(!i);
LcdClear();
sprintf (lcd_buf, "%u", freq );
LcdString(1,5);
LcdUpdate();



}
}
замена бит на 14 исправила) красота) теперь интересно предел узнать ,завтро испытаю)
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

работа)
Вложения
Фото0194.jpg
(222.42 КБ) 299 скачиваний
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

максималка
Вложения
Фото0197.jpg
(186.15 КБ) 317 скачиваний
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: проблема с буфером

Сообщение phanis »

Да не плохо, Но лучше использовать внешний кварц (16 MГц). Точность будет выше и погрешность, при изменении температуры, меньше.
Если температура постоянная(комнатная) можно задержками подогнать под текущую тактовую.
И все-таки freq=(ulong)ovf*65536+TCNT1; - правильная формула, т.е без умножения. Можно проверить на 50 Гц.
Вторичную обмотку с небольшим напряжением подключить через сопротивление к частотомеру.
CS16AMX
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Re: проблема с буфером

Сообщение CS16AMX »

какую ещё обмотку? он в воздухе с проводком 4см ловит наводки 50гц))) ,я им и ловил задержку ,заливал прошивку и делал вместо 56 ровно 50
формула будет правильной при кварце 16мгц) но и предел измерения расширится ,жаль сегодня проспал ( была возможность на генератор подцепить точнейший
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»