АЦП у AVR 10-битный, передача возможна только байтами, то есть либо 8 бит, либо 16, либо еще какое-то число, кратное 8. Допустим, мы хотим получить максимальную разрешающую способность (не путать с точностью) и хотим посылать все 10 бит, но тогда остаются 6 пустых бит в посылке. Почему бы не использовать их? В ATmega32 на выбор канала отводится 5 бит, а на выбор опорного напряжения (хотя вряд ли оно будет меняться, но надо же что-то сделать со свободным битом) 2 бита, но возможны всего 2 состояния - AVCC и внутренний ИОН 2.56 В. Если подключен внешний ИОН, он будет использоваться независимо от настроек, поэтому отдельно его учитывать не надо. То есть на ИОН достаточно отвести 1 бит. Таким образом, формат 16-битной посылки может выглядеть следующим образом.
| REFS1 | MUX4 | MUX3 | MUX2 | MUX1 | MUX0 | A9 | A8 || A7:A0|
А не помогали не потому что не хотели, а потому что не могли понять, что вы вообще хотите получить. Если бы написали, что хотите передавать по USB значения АЦП с нескольких каналов и нужен совет как определить какое значение какому каналу соответствует, помогли бы быстрее. А фраза, что "С ADC0 и АDC1 снимаем данные, они, в виде 1 и 0, поступают на В0" не несет ровно никакого смысла.
АЦП и USB - atmega32a.
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
- Реклама
-
shinsei
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Вс окт 18, 2015 19:43:37
- Откуда: Одесса
Re: АЦП и USB - atmega32a.
Спасибо большое, но я давно уже всё сделал
Иногда только ошибившись ты понимаешь как попал.
- eess9
- Вымогатель припоя
- Сообщения: 672
- Зарегистрирован: Ср фев 29, 2012 01:58:32
- Откуда: Харьков, Украина
Re: АЦП и USB - atmega32a.
Отличная идея, COKPOWEHEU!
Очень элегантное решение, надо запомнить.
Очень элегантное решение, надо запомнить.
