Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Мелкие вопросы по МК и ПЛИС.

Сб янв 18, 2020 22:46:01

Что бы не создавать новых тем думаю логично будет тут написать
Кто может помочь?
Есть программа, код для индикатора с общим анодом, хочу переделать для индикатора с общим катодом, массив инвертировал то что было ранее закомментировал.

Код:
flash unsigned char DIG[33] = {
//G C DP D E A F B
//0b10100000, //0
0b01011111,
//0b10111110, //1
0b01000001,
//0b01100010, //2
0b10011101,
//0b00101010, //3
0b11010101,
//0b00111100, //4
0b11000011,
//0b00101001, //5
0b11010110,
//0b00100001, //6
0b11011110,
//0b10111010, //7
0b01000101,
//0b00100000, //8
0b11011111,
//0b00101000, //9
0b11010111,
//0b00110000, //A-10
0b11001111,
//0b00100101, //b-11
0b11011010,
//0b11100001, //C-12
0b00011110,
//0b00100110, //d-13
0b11011001,
//0b01100001, //E-14
0b10011110,
//0b01110001, //F-15
0b10001110,
//0b10100001, //G-16
0b01011110,
//0b00110101, //h-17
0b11001010,
//0b11110111, //i-18
0b00001000,
//0b10100110, //J-19
0b01011001,
//0b11100101, //L-20
0b00011010,
//0b00110111, //n-21
0b11001000,
//0b00100111, //o-22
0b11011000,
//0b01110000, //P-23
0b10001111,
//0b01110111, //r-24
0b10001000,
//0b01100101, //t-25
0b10011010,
//0b10100100, //u-26
0b01011011,
//0b00110100, //H-27
0b11001011,
//0b00101100, //Y-28
0b11010011,
//0b01111111, //- 29
0b10000000,
//0b11101111, //_-30
0b00010000,
//0b10110111, //ii31
0b01001000,
//0b11111111  // -32
0b00000000
};

Пока просто вывожу поучаю что горят три первых разряда
Изображение
Хотя должен гореть последний, четвертый, значит где то еще надо вывод инвертировать.
Если правильно понимаю то тут
Код:
switch (PLACE) {
case 0:  PORTB |= 0b00111100;
         PORTC &= 0b11000000;
         PORTD &= 0b11111100;
         PORTC |= (DIG[L0]&0b00111111);
         if (MODE==1) PORTC.5=0;
         PORTD |= ((DIG[L0]&0b11000000)>>6);
         A0=0;
        break;
case 1:  PORTB |= 0b00111100;
         PORTC &= 0b11000000;
         PORTD &= 0b11111100;
         PORTC |= (DIG[L1]&0b00111111);
         PORTD |= ((DIG[L1]&0b11000000)>>6);
         A1=0;
        break;
case 2:  PORTB |= 0b00111100;
         PORTC &= 0b11000000;
         PORTD &= 0b11111100;
         PORTC |= (DIG[L2]&0b00111111);
         PORTD |= ((DIG[L2]&0b11000000)>>6);
         A2=0;
        break;
case 3:  PORTB |= 0b00111100;
         PORTC &= 0b11000000;
         PORTD &= 0b11111100;
         PORTC |= (DIG[L3]&0b00111111);
         PORTD |= ((DIG[L3]&0b11000000)>>6);
         A3=0;
        break;

Пробовал по разному но что то совсем дичь получается.
Кто то может подсказать что не так делаю? Приложил файлик с кодом, если не сложно можно в файлике поправить, просто хочу сравнить, посмотеть что я не так делаю
Вложения
Wind.zip
(3.83 KiB) Скачиваний: 251

Re: Мелкие вопросы по МК и ПЛИС.

Вс янв 19, 2020 05:37:11

Есть программа, код для индикатора с общим анодом, хочу переделать для индикатора с общим катодом
Всё правиольно. Помимо самих 8 сегментов, надо ещё найти где аноды переключаются "1", и заменить на "0" для катодов.

Re: Мелкие вопросы по МК и ПЛИС.

Ср янв 22, 2020 23:17:31

Не уверен что по теме, но чем прошить M95320-W и может ли СН341А работать с 95-й серией микросхем?

Re: Мелкие вопросы по МК и ПЛИС.

Чт янв 23, 2020 06:02:14

Помимо самих 8 сегментов, надо ещё найти где аноды переключаются "1", и заменить на "0" для катодов.
это будет найти потрудней, и, если не хочется искать, то инвертировать можно аппаратно - ключами в катодах, это и экран в порядок приведёт и ноги микроконтроллеру разгрузит

Re: Мелкие вопросы по МК и ПЛИС.

Чт янв 23, 2020 12:30:23

Добрый день, друзья! Не нашёл прикреплённой темы про STM8L, поэтому побеспокою вас в общих вопросах по МК и ПЛИС...

Пытаюсь освоить USART на STM8L151K6. Передавать могу, всё поднялось почти сразу по даташиту и статьям. Но при попытке принимать в прерывании всё ломается. Сейчас обработчик такой:
Войти в прерывание, зажечь светодиод, считать принятый байт, запустить его же на передачу, погасить светодиод и выйти из прерывания. Флаг, судя по даташиту, должен сняться в момент считывания USART_DR. Нооооооооо ничего не происходит. МК вообще наглухо повисает после принятия байта, и до резета молчит. Есть версия, что ошибка в самих библиотеках/компиляторе -- и дело в векторе прерывания и возвращения из него. Нооооо... может всё-таки ошибка на моей стороне? Подскажет кто чего? :dont_know:

Код:
#pragma vector=USART_R_OR_vector
__interrupt void USART_RXNE(void)
{
PB_ODR_bit.ODR2 = 1;
USART1_DR = USART1_DR;
PB_ODR_bit.ODR2 = 0;
}

Re: Мелкие вопросы по МК и ПЛИС.

Чт янв 23, 2020 13:23:00

Флаг, судя по даташиту, должен сняться в момент считывания USART_DR.


Флаг то снимется. Флаг RXNE. Но на этом векторе еще с десяток разных флагов. Я бы при входе в прерывание прочел статус и его анализировал. Да хотя б в отладчике поглядел. И при "зависании" - остановиться в отладчике да поглядеть, где.

Re: Мелкие вопросы по МК и ПЛИС.

Чт янв 23, 2020 13:51:17

просто КОТ писал(а):Не нашёл прикреплённой темы про STM8L
https://radiokot.ru/forum/viewtopic.php?f=62&t=35768

Re: Мелкие вопросы по МК и ПЛИС.

Чт янв 23, 2020 23:20:58

Итак.
Если кто занимается ремонтом материнских плат,может кто и знает как прошить ШИМ контроллеры от этих матерей
Имеется мать ASUS P9X79,там стоят ШИМки ASP1101 они же CHL8325A от Infineon Technologies.
Не помню,то тут ,на Радиокоте,то ли ещё где читал,что это чудо прошивается.Но что да как там делать не знаю.

Re: Мелкие вопросы по МК и ПЛИС.

Пн янв 27, 2020 21:50:02

Подскажите как быть.
Имеется PIC18F4585 в корпусе TQFP.
Прогер MiniPro TL866 II. У него в базе это микроконтроллер в корпусе DIP вбит.
Выпаял я МК, подпаялся 5 проводками (питание,дата и клок,vpp),выбрал внутрисхемное программирование,программа мне выдает,что неверный ID.
Как в этом случае считывать и программировать его,если он в базе отсутствует.

Может я не так чего считываю?или не так подключаю прогер или ноги МК.

Re: Мелкие вопросы по МК и ПЛИС.

Ср фев 12, 2020 15:13:11

Здравствуйте, помогите, пожалуйста, со схемой.

Про устройство:
1. большую часть времени будет находится в глубоком сне.
2. должно просыпаться при нажатии любой из двух центральных кнопок.
3. должно уметь принять со смартфона данные через jack 3.5, обработать внутри эти данные, и отдать их на смартфон через jack 3.5. на смартфоне предполагается приложение, которое будет осуществлять приемопередачу данных через jack 3.5, используя audio api.
4. работает от батарейки cr2032.
5. должно при поступлении данных отобразить на OLED некую информацию.

Требования к MCU:
1. возможность реализации argon2id (функция формирования ключа).
2. возможность реализации ассиметричного шифрования на основе эллиптических кривых.
3. низкое энергопотребление в глубоком сне (отключается всё, кроме backup регистров).
4. количество байт, которые можно сохранить в backup регистры - от 16 байт. Чем больше, тем лучше.
5. не дороже 100 р.
6. должен выдерживать просадку батарейки. предполагается длительный срок использования.

Вопросы:
1. какой подойдёт MCU?
2. при такой схеме подключения TRRS возможен ли двусторонний обмен данными со смартфоном? Что нужно, чтобы был возможен?
3. как сделать чтобы контроллер можно было перепрошивать через UART?
4. можно ли запитать OLED от цифрового пина? Какое будет напряжение на пине, если батарейка будет истощаться? если нельзя, как сделать чтобы на OLED подавалось питание только при поступлении данных по RX?
5. как сделать чтобы контроллер просыпался при нажатии любой из двух центральных кнопок?
6. реально ли извне вытащить данные из backup регистров?

Спасибо! :)

Изображение

Re: Мелкие вопросы по МК и ПЛИС.

Сб фев 15, 2020 05:45:53

Доброе утро.
Я реализовал "ногодрыг" для связи stm32 и FPGA.
Работает хорошо, но я не имею осциллографа, отсюда вопрос.

Реализовал линию передачи в несколько бит (несколько ножек одного порта, чтоб разом их выставлять).
Отдельно 1-ин бит готовности передачи (выставляется после выставления бит данных (линия передачи) и если )
Отдельно 1-ин бит (на вход) означающий, что посылка была принята(или не может быть принята, подождем).
(stm32 является передатчиком)
Т.е. общение происходит с помощью 2-х ножек и линии передачи.
Конструкция получилась без сбоев, работает быстро. (понятно что нужно spi и dma настроить и не извращаться)
Но! Теоретически в таком "ногодрыге" стоит поставить триггер шмитта (не на линию передачи, а на те самые 2-е ножки статуса)????
Если пытаться максимальные скорости на мк использовать (для gpio)?

Всё это дело происходит, т.к. я осваиваю FPGA и мне легче на этом этапе общаться с FPGA таким способом.

Re: Мелкие вопросы по МК и ПЛИС.

Сб фев 15, 2020 10:43:13

стоит поставить триггер шмитта

Причем тут триггер Шмитта? Триггер Шмитта реализует гистерезис по уровню НА ВХОДЕ.

Re: Мелкие вопросы по МК и ПЛИС.

Пн фев 24, 2020 15:15:08

Притом, что на высоких скоростях передачи данных форма сигнала далека от прямоугольной.
Если я не ошибаюсь, то уже выше 4 мегагерц появляется ступенька в сигнале.
Здесь данные в одну сторону передаются, просто от плис обратно в МК есть 1-а линия подтверждения/готовности

Re: Мелкие вопросы по МК и ПЛИС.

Пн фев 24, 2020 21:20:14

Что за бред? Какая еще "ступенька в сигнале"? Кроме затянутого фронта никаких "ступенек" нет и никогда не было.
Более того, всякого разного рода звоны на фронтах - это результат безграмотной метрики и/или полного отсутствия понимания как согласуют линии передачи на высоких скоростях. Триггер Шмитта ко всему этому никакого отношения не имеет.

Re: Мелкие вопросы по МК и ПЛИС.

Вт фев 25, 2020 01:32:09

Не знаю, правильно ли выбрал тему...
Есть радиоприёмник, управляемый МК STM8L152C6T6. Задача - прицепить к нему индикатор включения. Выяснил, что вывод 48 МК (РЕ7) управляет микросхемой УМЗЧ - при включении на этом выводе появляется напруга.

Вопрос - можно ли на этот вывод МК повесить индикаторный светодиод, не будет ли перегрузки выхода? Изучал даташит и насколько понял, допускается нагрузка до 25 мА на выходы типа I/O, к которым и относится 48-я нога.
Что-то многовато... Либо я что-то не так понял (по-аглицки не розумею), либо выходы такие мощные... :dont_know:

Re: Мелкие вопросы по МК и ПЛИС.

Вт фев 25, 2020 08:20:03

поставьте транзисторный ключ и не переживайте на счет перегрузки

Re: Мелкие вопросы по МК и ПЛИС.

Вт фев 25, 2020 21:42:47

Я бы так и сделал, но мне нужно, чтобы светодиод сидел катодом на "массе" (он двухкристалльный). Поэтому ключ придётся делать на двух транзисторах, а на плате места очень мало, да и мороки много.

Re: Мелкие вопросы по МК и ПЛИС.

Ср фев 26, 2020 08:23:02

поставь транзистор эмиттерным повторителем (схема ОК) тогда тебе одного хватит.

Re: Мелкие вопросы по МК и ПЛИС.

Ср фев 26, 2020 08:26:32

разумнее поставить p-канальный MOSFET или обычный PNP транзистор, чем использовать эмиттерный повторитель....

Re: Мелкие вопросы по МК и ПЛИС.

Ср фев 26, 2020 09:32:52

тогда у него сигнал инвертируется...
Ответить