I2C (TWI) с любых портов контроллера
- kvark85
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Сб ноя 08, 2008 21:23:06
- Откуда: Харьков
- Контактная информация:
I2C (TWI) с любых портов контроллера
Здравствуйте. Начал изучать ASM после того как изучил СИ, для более глубокого понимания работы контроллера. Сделал часы, программа на СИ. Микросхема реального времени pcf8583. Писал в CodeVisionAVR, там можно с помощью мастера создания проэктов подключить эту микросхему к любому порту и любым выводам. Ознакомившись с работой TWI и USI (у меня tiny2313) не понял как подключать TWI устройства к любому порту. Кто знает как это реализовано? Побитово дергать выводами контроллера? Тоесть CodeVision программно, а не аппаратно делает это? Попытался отследить в готовом проэкте CodeVisionAVR и окончательно запутался. Кто может обьяснить? или помочь разобраться что насоздавал CodeVisionAVR или проще самому написать эту работу?
Re: I2C (TWI) с любых портов контроллера
CV просто дергает ноги. Можно использовать строенный TWI. Примеры в AN от Atmel.
Re: I2C (TWI) с любых портов контроллера
В некоторых AVR-ках есть хардовый TWI. Тогда Кодевижн в проекте предлагает I2C и TWI. I2C - програмная и там можно выбрать любые ноги. У TWI выбора ног нету. Долго разбирался как организовать работу с TWI. Помогла одна статейка на русском. Только тогда немного въехал и для себя решил, что проще работать через прерывание.
Учиться, учиться, ...
- kvark85
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Сб ноя 08, 2008 21:23:06
- Откуда: Харьков
- Контактная информация:
Re: I2C (TWI) с любых портов контроллера
Спасибо. Буду пытаться писать программный I2C на ASM. И попытаюсь еще раз взять готовые ASM из CodeVision, если пойму как они работают. пока не доходит.
-
qwerky
- Мучитель микросхем
- Сообщения: 487
- Зарегистрирован: Пт июн 12, 2009 19:17:35
- Контактная информация:
Re: I2C (TWI) с любых портов контроллера
Вот пример программного I2C на С:
- Вложения
-
- ul_i2c.zip
- программный I2C
- (4.89 КБ) 343 скачивания
- kvark85
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Сб ноя 08, 2008 21:23:06
- Откуда: Харьков
- Контактная информация:
Re: I2C (TWI) с любых портов контроллера
сделал давно, нашел тему в закладках - отпишусь. написал програмный I2C на асме, работает быстро и четко. если кому то нужны будут исходники - обращайтесь в личном сообщении - выложу тут.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: I2C (TWI) с любых портов контроллера
kvark85 писал(а):написал програмный I2C на асме
Мастер или слэйв?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- kvark85
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Сб ноя 08, 2008 21:23:06
- Откуда: Харьков
- Контактная информация:
Re: I2C (TWI) с любых портов контроллера
Я писал мастера. Контроллер + часы реального времени.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: I2C (TWI) с любых портов контроллера
Зачем такой изврат, если можно использовать периферию?
И, кстати, сколько весит?
И, кстати, сколько весит?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- kvark85
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Сб ноя 08, 2008 21:23:06
- Откуда: Харьков
- Контактная информация:
Re: I2C (TWI) с любых портов контроллера
Такой изврат потому что часы уже готовы и работали, просто захотелось попробовать ASM. SDA и SCL были уже заняты. Мало весит. В 2 раза меньше чем, та же программа скомпилированная CV.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: I2C (TWI) с любых портов контроллера
СиЛабовские МК и так позволяют цеплять периферию практически к любым портам. Так что это только минус AVR (и, наверное, PIC'ов — не работал с ними).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]