Микроконтроллеры | MSSP(IIC) и USART |
|
---|---|---|
Есть PIC. У него один последовательный I2C(IIC). И один приёмо-передатчик (USART). Ваши предложения! (Не предлогать ручное написание I2C и RX/TX - Ну если предложите, то материал по написанию!) |
|
|
i2c может обслуживать более одного устройства на шине для авр есть код для софтового уарт, про пики не знаю |
|
|
i2c легко делается программно. UART тоже, но получается не очень быстрый |
|
|
Tim18: |
|
|
Можно алгоритм и принцип действия UART увидеть? |
|
|
Tim18: |
|
|
Да какой там алгоритм На пустом месте пишется элементарно. Нужно прерывание от ноги, которая выполняет роль Rx, и прерывание от таймера. По прерыванию от ноги (пришел старт-бит) запускается отсчет таймера с периодом в половину длительности старт-бита, на нечетных прерываниях от таймера считывается состояние ноги и пишется в принимаемый байт со сдвигом. После 18 (не 16!) прерываний байт считается принятым. Передача - так вообще делать нефиг На Пиках, увы, не пишу, на других - примерно страница ассемблера. |
|
|
chav1961: |
|
|
А DTR/DSR и RTS/CTS на что? Не нужно делать прием/передачу асинхронными - не будет и проблем. В 90% случаев это вполне возможно. На остальные 10 % случаев есть еще один вариант, посложнее - поднять частоту тиков таймера в 8 раз. В программировании это немного посложнее (именно немного!). Нужны подробности - могу выложить прогу, только к концу недели. |
|
|
Я делал программный полнодуплексный UART на голом таймере И не выверял ничего |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |