| Форум РадиоКот https://radiokot.ru/forum/ |
|
| WINAVR ATMega + DS1307 https://radiokot.ru/forum/viewtopic.php?f=20&t=20350 |
Страница 1 из 1 |
| Автор: | pwb [ Сб окт 10, 2009 12:44:51 ] | ||
| Заголовок сообщения: | WINAVR ATMega + DS1307 | ||
Привет! Никак не могу подружить мегу8 и часы Помогите пожалуйста. В протеусе все нормально, а когда дело доходит до железа, то полный аут. все висит. Я подозреваю что дело в этом: Код: while (!(TWCR & (1 << TWINT))); если сделать вот так: Код: // Initial ATMega8 TWI/I2C Peripheral
TWSR = 0x00; // Select Prescaler of 1 // SCL frequency = 11059200 / (16 + 2 * 47 * 1) = 98.743 khz TWBR = (F_CPU / 100000UL - 16) / 2; а вот достаточно закоментировать инициализацию TWI, то все работает в протеусе... Протеус 7.6 SP0 WinAVR 20090313 Может кто-нибудь кинет в меня нормальной библиотекой для работы в часиками в winavr? Нигде не могу найти
|
|||
| Автор: | ARV [ Сб окт 10, 2009 13:00:13 ] |
| Заголовок сообщения: | |
кинуть можно, только искать надо, да и опасаюсь - кину, да вдруг попаду и зашибу?! так что поищите сами для начала вот вам ключик к тайной дверце: Peter Fleury http://jump.to/fleury - пользуюсь его либами давно и ни разу не пожалел (немного подправил под себя и все) |
|
| Автор: | pwb [ Сб окт 10, 2009 17:41:32 ] |
| Заголовок сообщения: | |
Спасибо Огромное!!! Весь инет перерыл... да видно не до конца |
|
| Автор: | pwb [ Сб окт 10, 2009 19:30:38 ] | ||
| Заголовок сообщения: | |||
НЕ работает через аппаратный TWI софтовый в протеусе пашет... щас пролью на железо, посмотрим... Хочу все-таки запустить на аппаратном!!! ПОМОГИТЕ!
|
|||
| Автор: | pwb [ Сб окт 10, 2009 21:45:09 ] |
| Заголовок сообщения: | |
вероятно неисправная МК часов или контроллер. |
|
| Автор: | Pooher [ Сб окт 10, 2009 22:38:38 ] |
| Заголовок сообщения: | |
Я не понял, не работает в железе или в Proteus? Если в железе, то возможно причина в низком питании. Ну а в Proteus, лично у меня, I2C не работает, правда я и не разбирался по чему, мне эта симуляция нафиг не нужна, я железу больше верю. |
|
| Автор: | pwb [ Сб окт 10, 2009 23:03:41 ] | ||
| Заголовок сообщения: | |||
питание нормальное 5.05 вольт. подтягивающие резисторы стоят 4.7к батарейка подключена + к ноге Vbat минус общий. плату делал по всем требованиям даташита, т.е. экран есть обнаружил, что часики греются... причем нормально так. сделал софтовый I2C, в протеусе работает, на железе никак. часы новые. инициализацию пытался сделать... частоты МК пробовал разные от 1 до 8МГц от внутреннего кварца. фото, как выглядит на железе прилагаю... в протеусе такую картинку можно получить если убрать один из подтягивающих резисторов.
|
|||
| Автор: | ARV [ Сб окт 10, 2009 23:12:10 ] | ||
| Заголовок сообщения: | |||
даже и не знаю, что там может быть сложного... вот файлик для работы с часами - ориентирован на использование библиотечки, что я вам давал
|
|||
| Автор: | Pooher [ Вс окт 11, 2009 10:04:04 ] |
| Заголовок сообщения: | |
Ну, раз "часики греются", смотрите разводку |
|
| Автор: | pwb [ Вс окт 11, 2009 17:39:21 ] |
| Заголовок сообщения: | |
часы действительно сдохли. поставил новые и исправил код. поставил вот так: Код: void rtc_init(void)
{ unsigned char temp; i2c_start(DS1307_ID+I2C_WRITE); i2c_write(0x00); i2c_start(DS1307_ID+I2C_READ); temp=i2c_read(NACK); i2c_stop(); if(temp & (1<<CH)) //если питание часов пропадало { ds1307_addr[2]=0; ds1307_addr[1]=0; ds1307_addr[0]=0; hour_mode=HOUR_24; Write_DS1307(); i2c_start(DS1307_ID+I2C_WRITE); i2c_write(DS1307_CONTROL); i2c_write(0x90); i2c_stop(); } } теперь работает!!! большущее спасибо!!! |
|
| Автор: | geniusbsd [ Вс фев 21, 2010 10:37:02 ] | ||
| Заголовок сообщения: | |||
Привет Всем. Возникла проблема собрал Atmega8 16PU + DS1307 по схеме из даташита Запитывл схему четырьмя способами 1. Подано питание от программатора USBASP около 3 вольт, батарейка не впаяна. Все работает как надо. 2. Подано питание от программатора USBASP около 3 вольт, батарейка впаяна. Часы стоят. 3. При питании от кроны через кренку 5 вольтовую часы стоят 4. При подачи стабилизированного питания 5В(компьютерный БП) на кренку 5 вольтовую( на выходе 4.5В) батарейка не впаяна часы работаю В архиве процедуры работы с аппаратным TWI и работы с ds1307
|
|||
| Автор: | fizicko [ Пн авг 09, 2010 19:07:05 ] |
| Заголовок сообщения: | Re: WINAVR ATMega + DS1307 |
А можно будет в неё записывать и читать если кварц не заведёться? |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


