ЦАП R-2R (DAC R-2R) на Arduino

Создаем свой блок. Вопросы, помощь знатоков.
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

ЦАП R-2R (DAC R-2R) на Arduino

Сообщение Ivan_Kornege »

[ref=#ff8000]Sancho[/ref], а разжуйте плиз, почему
// PORTC &= (a>>8 | 0xFC); меняем на
PORTC &= (a>>6 | 0xF3); // вот здесь что такое a>>6 и 0xF3 ?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

ЦАП R-2R (DAC R-2R) на Arduino

Сообщение Sancho »

Ivan_Kornege писал(а): 04 мар 2019, 15:04[ref=#ff8000]Sancho[/ref], а разжуйте плиз, почему
// PORTC &= (a>>8 | 0xFC); меняем на
PORTC &= (a>>6 | 0xF3); // вот здесь что такое a>>6 и 0xF3 ?
// PORTC &= (a>>8 | 0xFC); // сдвиг на восемь бит два старших бита из второго байта, т.к переносили для 0 и 1-го битов, и "или" с В1111 1100
PORTC &= (a>>6 | 0xF3); // вот здесь что такое a>>6 и 0xF3 ?
Так как в новом варианте биты 2 и 3, то сдвигаем на шесть и "ИЛИ" с В1111 0011

Отправлено спустя 33 минуты 24 секунды:
Возможно, сейчас подумал, в моей идее есть косячок :)
Нужно будет записывать регистр С в два этапа:
PORTC &= 0xF3; // переведём два бита, второй и третий, принудительно в ноль, а затем
PORTC |= (a>>6 & 0x0C); // запишем по "ИЛИ" чего у нас есть
Иначе по "И" записать поверх нулей единицы не получится. Так-же, как и по "ИЛИ" нули поверх единиц.
Надеюсь, автор темы читает :) и кто-нибудь попробует

Отправлено спустя 3 минуты 18 секунд:
Сори.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 338
Зарегистрирован: 29 апр 2017, 08:24
Откуда: гАндурас
Имя: Ivan

ЦАП R-2R (DAC R-2R) на Arduino

Сообщение Ivan_Kornege »

Вот уже ответили не успел спросить про перезапись пока ужин унчтожал.
А то на службе крутой программер начал критиковать FLp. Ну и т.д. как всегда .
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

ЦАП R-2R (DAC R-2R) на Arduino

Сообщение AVGN »

Sancho писал(а): 04 мар 2019, 15:51Возможно, сейчас подумал, в моей идее есть косячок :)
Нужно будет записывать регистр С в два этапа:
PORTC &= 0xF3; // переведём два бита, второй и третий, принудительно в ноль, а затем
PORTC |= (a>>6 & 0x0C); // запишем по "ИЛИ" чего у нас есть
Иначе по "И" записать поверх нулей единицы не получится. Так-же, как и по "ИЛИ" нули поверх единиц.
Надеюсь, автор темы читает :) и кто-нибудь попробует
Вот так правильно?
[spoiler]

Код: Выделить всё

setup ()
{

DDRD = 0xFF; // все выход
//DDRC = DDRC | 0x03; // 0 и 1 выход
DDRC = DDRC | 0x0C; //устанавливаем цифровые выводы PC2 и PC3 в качестве выходов
}

loop ()
{
//PORTD = a & 0xFF; // здесь младшие
//PORTC &= (a>>8 | 0xFC); // грузим только в два младших бита старшие входного

PORTC &= 0xF3; // переведём два бита, второй и третий, принудительно в ноль, а затем
PORTC |= (a>>6 & 0x0C); // запишем по "ИЛИ" чего у нас есть
а++;

} 



[/spoiler]
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

ЦАП R-2R (DAC R-2R) на Arduino

Сообщение Sancho »

[ref]AVGN[/ref], Вот так
DAC R-2R 10bit_test_01.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

ЦАП R-2R (DAC R-2R) на Arduino

Сообщение AVGN »

[ref=#ff8000]Sancho[/ref], спасибо.
Изменил проект поставил другой блок энкодера (с библиотека Encoder.h) и подключил к 10 и 12 ноге ардуино
DAC R-2R 10bit_test_01_FLP4_2_4.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Ответить

Вернуться в «Разработка пользовательских блоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя