Если бы даже и мог, то это бессмысленно : такую частоту обновления человек не в состоянии воспринять глазом и осмыслить. Пять раз в секунду - и то много. Оптимально - 2 .isx писал(а):Теоретически должно было так быть, но на практике всё пролетает. Он не может с такой частотой обновлятся? Если нет, то какая предельная частота обновления (дисплей WH1602b)?
Мелкие вопросы по МК и ПЛИС.
- Реклама
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Осмысливать тут и не обязательно. Эта информация чисто для восприятия (показывает, что счёт таки идёт
). Чтобы уменьшать частоту, нужно будет делать ещё алгоритм. а я не хотел загромождать память, её мне много нужно будет в дальнейшем. Библиотека стандартная CVAVR-овская...
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
интересная штука.... Убрал строку инициализации дисплея, и стало всё норм... Теперь сотку в секунду свободно считает...
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Дисплей инициализируется одной строкой?! Интересно. Или эта строка - вызов функции инициализации? Тогда второй вопрос - дисплей вообще не инициализируется?isx писал(а):интересная штука.... Убрал строку инициализации дисплея, и стало всё норм... Теперь сотку в секунду свободно считает...
Ну и на всякий случай - не надо синхронизировать два совершенно независимых асинхронных процесса - вращение чего-то там и обновление дисплея. Они по природе своей абсолютно асинхронны. Вот и поступайте с ними, как с двумя отдельными процессами.
С уважением,
Виктор.
Виктор.
- Сообщения: 71
- Зарегистрирован: Вт июн 05, 2012 20:31:25
Доброго времени суток!Наткнулся на такую ссылку http://avrlab.com/node/117
Можно ли так сделать,чтобы на тачскрине нажимать на определённые координаты и ,к напримеру, загорался светодиод
,начал на другую координату загорелся другой светодиод?
Помогите,пожалуйста,буду очень презнателен!
Можно ли так сделать,чтобы на тачскрине нажимать на определённые координаты и ,к напримеру, загорался светодиод
,начал на другую координату загорелся другой светодиод?
Помогите,пожалуйста,буду очень презнателен!
- Реклама
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Не только светодиоды. Вы не поверите, я даже зубочисткой свое имя писал. Кружочки-квадратики рисовал. А уж по меню прыгать, пальцем тыкая - это вообще, как два пальца об асфальт... 
С уважением,
Виктор.
Виктор.
- Сообщения: 400
- Зарегистрирован: Сб апр 17, 2010 10:30:13
Ааааа, сил уже нет. собрал я AVR910 специально для ноутбука. стоит Виндовс 7\32. Где взять дрова для него под семаку и как установить? Уже битый час пытаюсь наладить. Если нажимать обновить дрова, то пишет что для етого устройства не надо обновлять. С висты уже побывал дрова ставить, пишет что это устройство нельзя запустить и код 10. УМОЛЯЮ вас. Сил уже нет. Или раскрошить его молотком к чертям. Винду менять ради него не буду.
- Сообщения: 71
- Зарегистрирован: Вт июн 05, 2012 20:31:25
Скажите,а как сделать чтобы на тачскрине нажал координату и светодиод загорелся?Код нужно определённый писать?Прощу помощи,пожалуйста,я новечок в програмировании,мне нужно,чтобы на тачскрине было 7 "кнопок"при нажатии которых загорался определённый светодиод,без подключения к экрану,если нетрудно,расскажите об этом в кранце
Спасибо!
Спасибо!
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
misterkuk Сам вчера собрал сиё чудо для ноута. Есть там своя фишка. Вообщем удаляйте устройство с диспейчера (вместе с дровами). Качайте вот эти дрова (если с джампером j3 у вас) http://prottoss.com/projects/AVR910.usb ... r.1.05.rar
В папке с дровами на семёрку 64х найдёте экзэшник DSEO. Запускаем его и делаем всё по инструкции!!
Единственный минус - ОООООчень долго работает. И стирает и шьёт минут 20... Мой ЛПТ работает раз в 50 быстрее...
Упс.... Проглядел. На х32 попробуйте сначала просто поставить из папки vista 32....
В папке с дровами на семёрку 64х найдёте экзэшник DSEO. Запускаем его и делаем всё по инструкции!!
COM порт в программаторе ставим тот, что подписан в устройстве в дийспейчере (надпись в скобочках)2. Запустите DSEO (инсталляция не требуется).
3. Выберите "Sign a System File", нажмите кнопку "Next" и выберете файл avr910.usb.vista.xp.64.inf из директории AVR910.Driver/vista_xp_64.
4. Выберите "Sign a System File" еще раз, нажмите кнопку "Next" и выберете файл lowbulk.sys из директории AVR910.Driver/vista_xp_64.
5. Выберите "Enable Testmode" и нажмите кнопку "Next".
6. Перезапустите свой компьютер.
Единственный минус - ОООООчень долго работает. И стирает и шьёт минут 20... Мой ЛПТ работает раз в 50 быстрее...
Упс.... Проглядел. На х32 попробуйте сначала просто поставить из папки vista 32....
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Вообщем у меня так: сначала при запуске МК происходит приветствие и выводится начальное количество оборотов (0 соответственно, мыж ещё ничего не крутилиut1wpr писал(а):Дисплей инициализируется одной строкой?!
Затем отображение количества при пуске двигателя, я сделал просто так:lcd_init( 16 );
lcd_clear( );
lcd_gotoxy( 0,0 );
lcd_puts( " ...Hello..." );
lcd_gotoxy( 0,1 );
sprintf(lcd_buf,"%u",RAZMER);
lcd_puts( lcd_buf );
хотя думаю положено так:lcd_clear( );
sprintf(lcd_buf,"%u",RAZMER);
lcd_puts( lcd_buf );
Код: Выделить всё
lcd_init( 16 );
lcd_clear( );
sprintf(lcd_buf,"%u",RAZMER);
lcd_puts( lcd_buf );Вообще инициализацию нужно сделаю только один раз- при включении если она происходит у вас каждый раз, то конечно дисплей ничего не будет успевать.
И нежелательно, если этого реально не нужно, очищать дисплей целиком.
Судя по даташиту при этом дисплей заполняет все символы пробелами.
мне кажется гораздо эффективнее будет вывести все отображаемые символы по новой, вместе с пробелами, если нужно что то стереть.
И нежелательно, если этого реально не нужно, очищать дисплей целиком.
Судя по даташиту при этом дисплей заполняет все символы пробелами.
мне кажется гораздо эффективнее будет вывести все отображаемые символы по новой, вместе с пробелами, если нужно что то стереть.
В поисках истины человек развивается.
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
А я то стою на асфальте в лыжи обутый и удивляюсь, почему они не едутvitalik_1984 писал(а):Вообще инициализацию нужно сделаю только один раз- при включении если она происходит у вас каждый раз, то конечно дисплей ничего не будет успевать.
Ну не знай, по мне таки пусть пробелами заполняет..vitalik_1984 писал(а):мне кажется гораздо эффективнее будет вывести все отображаемые символы по новой, вместе с пробелами, если нужно что то стереть.
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
Извините. Вам до работы с тачскрином еще далеко. Зажгите для начала светодиод. Потом погасите. И так несколько раз. Каждый раз новым способом.joundlevel писал(а):без подключения к экрану,если нетрудно,расскажите об этом в кранце
Спасибо!
Но не робейте. Впереди много нового и интересного. Беда одна - слишком много!...
Последний раз редактировалось ut1wpr Ср авг 15, 2012 23:29:00, всего редактировалось 1 раз.
С уважением,
Виктор.
Виктор.
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
появилась новая проблема. Вобщем когда магнит находится неподвижно около датчика холла, то отсчёт начинает быстро увеличиваться, хотя должен вообще замирать, т.к. у меня алгоритм стоит, при котором оборотом считается только тогда, когда сначала было положительное напряжение на входе (у tle4905l так по умолчанию сделано), а потом отрицательное. Тоесть, когда я тупо замыкаю землю с выходом датчика (по даташиту именно такое происходит при появлении магнитного поля), то засчитывается только один оборот, а после счет останавливаетя, пока я не разомкну контакты и не сомкну их обратно (тут он снова прибавляет на 1 и т.д.). Но датчик почему то ведёт себя не так как положено...
Подскажите пожалуйста, как такое исправить?...
Подскажите пожалуйста, как такое исправить?...
- Сообщения: 581
- Зарегистрирован: Ср янв 05, 2011 10:03:18
У кого датчик? У вас? Вы и разбирайтесь. Это уже как-то за рамки темы выходит.isx писал(а): Но датчик почему то ведёт себя не так как положено...
С уважением,
Виктор.
Виктор.
Причем тут датчик? Тут дело скорее в программе.У кого датчик? У вас? Вы и разбирайтесь.
если алгоритм такой:
Код: Выделить всё
определяем состояние датчика
если 1 то добавляем
тут нужно или алгоритм менять либо инкремент счетчика заводить во внешнее прерывание
Пример другого алгоритма:
Код: Выделить всё
проверили новое состояние датчика
сравнили с переменной старое состояние
если (старое не равно новое){ добавляем счетчик,присваиваем старому состоянию значение нового}
Возможно магнит слишком слабый, и колебания магнитных полей сети приводят к изменению состояния.Можно попробовать транзистором в режиме ключа изменить положение дел
В поисках истины человек развивается.
Тут дело, как раз, в этом присловутом "скорее".Тут дело скорее в программе.
Я вот людей не понимаю, чё они "прячут" свои "драгоценные" исходники и задают вопросы, на которые просто нереально ответить без кофейной гущи ? Что мы там можем интересного увидеть, чего нигде никогда не видели ?
isx, у Вас сверхсекретная разработка что ли ? Покажите, хотя бы, код, отвечающий за опрос Ваших датчиков... А лучше весь код. Людям проще будет угадать Вашу проблему.
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Спасиб вам добрый человекvitalik_1984 писал(а):то нужно посмотреть сколько вольт реально на выходе.Возможно он немного до земли не дотягивает.Тогда будут глюки.
Возможно магнит слишком слабый, и колебания магнитных полей сети приводят к изменению состояния.
ПРоблема была там где я её ВООБЩЕ не ждал - в напряжении. Питание у меня от транса 220 - 12 а далее на кренку5а. Нона выходе почему-то вышло всего 3.5 В (наверно в печатке сопля где то или ещё что то). Кинул датчик на +12В и всё стало пучком
А магнит у меня неодимовый, единственное, в чём я уверен на 100%
Д нетАlex писал(а):у Вас сверхсекретная разработка что ли ?
Код: Выделить всё
if (b == 0) {
if ((PINC&0b00000001) == 0x00){z = z + 1;}
if (z == 100) {
z = 0; b = 1; schet = schet + 1;
delay_ms(1);
RAZMER = koord + schet;
lcd_clear( );
sprintf(lcd_buf,"%u",RAZMER);
lcd_puts( lcd_buf );
}}
if (b == 1) {
if ((PINC&0b00000001) == 0x01) {b = 0; z = 0;}
И как же у вас z прибавляется? Это в основном цикле находится код?
Типа антидребезга выходит.Но судя по вашему коду больше ничем ваша программа не занимается.
Не подойдет для других применений, как мне кажется.
Типа антидребезга выходит.Но судя по вашему коду больше ничем ваша программа не занимается.
Не подойдет для других применений, как мне кажется.
В поисках истины человек развивается.


