shemmer
Jul 29 2009, 04:11
Добрый день Помогите пожалуйста разобраться с передачей данных в Attiny 261 по интерфейсу USI в режиме Three-wire mode .
Мне непонятно если я собираюсь клокать программно, каким битом мне это делать - USICLK: Clock Strobe или USITC: Toggle Clock Port Pin ?
Или же вообще их нужно оба дергать. Должен ли инкрементироваться счетчик USICNT3..0 в режиме с программным тактированием?
Так как в АВР студио 4.16 он стоит на нуле.
Как я понял из даташита, с каждым импульсом CLK осуществляется передача одного бита регистра USIDR,т.е. я тупо записываю значение
в регистр USIDR и он автоматом за 8 клоков передаст его на DO?
rezident
Jul 29 2009, 15:33
Поясните термин "клокать программно" в применении к аппаратному интерфейсному модулю.
shemmer
Jul 30 2009, 02:05
Клокать программно- Режим (Software clock strobe (USICLK) ) Альтернатива режимам внешнего тактирования и от таймера 0.
Как я понимаю процесс на данный момент -
Записал в регистр данных значение (USIDR)
1.)Дергаю Bit 0 – USITC: Toggle Clock Port Pin
2.)Дергаю, чтобы сдвинуть на 1 бит USICLK: Clock Strobe
И так пока не передам один байт. Контроллирую окончание передачи по 4- разрядному счетчику
USICNT3...USICNT0.
Кстати AVR Studio начала отображать изменение всех регистров, для этого был выбран Simulator 2/
Эх примерчик бы мне работы с ним.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.