Поздравляем Пaлыч с днём рождения!
- GD32F303CCU6 - купил в Чип-дипе и запаял вместо STM32F103C8 на
bluepill, не видится ни загрузчиком, ни j-link-ом ни st-link-ом,
ориентация чипа верная, питание не в КЗ, может брак или фьюзы
какие-то предустановлены неверно? - NAUT(29.06.2023 02:18, ARM, полностью)
- Всем привет. Подскажите, пожалуйста. Стоял в изделии STM32F103C8T6.
Поменял на GD32F103C8T6. Залил прошивку - все работает. Не работает
USB CDC. Пишет USB устройство не распознано. Знаю. что проблем с
цепями нет. Т.к. заливаю массторадж юсб загрузчик - с ним все без
проблем. На что бы обратить внимание? - vesago(29.06.2023 14:21, ARM, полностью)
- Вопрос. У Cortex-M приоритет численно разделяется между
прерываниями и исключениями? StdEng(3320 знак., 27.06.2023 20:57, , ARM, полностью)
- Думаю, что, всё же, нет, не разделяется. Даже процедура установки
приоритета едина, различие лишь том, куда пишется - в контроллер
прерываний или в системные обработчики: Nikolay_Po(452 знак., 28.06.2023 21:31)
- У исключений, вроде, приоритеты отрицательные, поэтому
пользовательскому коду назначить приоритет исключения и выше -
нельзя, доступна запись лишь положительных значений приоритета. Nikolay_Po(554 знак., 27.06.2023 22:20)
- ARM вводит отрицательные приоритеты для Reset: (-3), NMI: (-2),
Hardfault: (-1) но они заданы и их не установить.. Выше в коде
функции отрицательные на входе это индексы исключений (не числа приоритетов), сами числа приоритетов все
положительные. Это видно по коду функции выше и по комменту: or negative to specify a processor exception. Интересует все же вопрос совместного разделения приоритета
NVIC.IPR и SHPR1-SHPR3 который умалчивает документация ARM/STM. - StdEng(27.06.2023 23:32, )
- Да, не нашёл, где было бы явно указано, но припоминаю, когда только
начал погружаться в архитектуру STM32 (ARM), где-то прочёл, что
NVIC - это дополнительный контроллер-расширитель ядра, который
дёргает линии различных приоритетов прерываний самого ядра. А
системные обработчики дёргают эти линии как бы напрямую, мимо NVIC.
Но, в итоге, дёргаются одни и те же линии. Nikolay_Po(101 знак., 28.06.2023 13:54)
- Исключения как индексы вектора прерывания играют роль при
одинаковом приоритере. Если приоритет прерываний одинаков, то при
одновременном запросе на прерывание произойдет то, которое имеет
вектор с меньшим индексом, те которое выше в таблице прерываний==
ближе к вектору ресета. - shan(28.06.2023 11:55)
- А кто-нибудь с RISC-V наигрался с демо-платками ? могу забрать =)))
зы, посоветуйте кого взять, кто уже брал... - sav6622(19.06.2023 20:52, ARM, полностью)Гyдвин
- Микрочиповские валяются с ПИК32, не зашли, хотя, устарели уже.
Марку завтра сказать могу. - Visitor(20.06.2023 21:19)
- Делаеца за полчаса - час. mse homjak(1 знак., 19.06.2023 22:52, картинка)
- вот никогда ЛУТом не занимался, да и не хочется... =)) - sav6622(20.06.2023 13:02)
- Ну, ждите месяц демки с Али. - mse homjak(20.06.2023 14:27)
- ви таки не повэрите Ralex(1 знак., 20.06.2023 14:42, ссылка)
- Ну, на цэнник можно забить. Но сроки, от недели. Не, я, собсно, за
колхоз не агитирую, оно мне каг-то таво. Просто за час я получил
макет в боевом составе и ужэ всё что нужно, в базе, отладил. За
неделю с лишним. А так, только сёдня бы получил демку, чтобы
надёргать ношкой "%ло ворд!" - mse homjak(20.06.2023 14:49)
- Когда как: ко мне эта посылочка ровно через 2 недели после заказа
пришла. - Eddy_Em(20.06.2023 14:41)
- Ну... 2 недели и час, разница есть? Причом, сразу с нужной
периферией. - mse homjak(20.06.2023 14:44)
- Ну так мне не к спеху же. Если срочно прототип нужен, либо какая
железка в единственном экземпляре (но двухслойки 0.2/0.2 за глаза),
я тоже сам делаю - фоторезистом. Eddy_Em(302 знак., 20.06.2023 16:04)
- Чойто лень стало лазерноутюжить... Год назад помогал дочке с
дипломом - сваял станочек для лазерной гравировки логотипов на
пластике. Из CD приводов. Фиолетовый лазер от DVD достаточно
мощный. Видеел, что тонкий слой краски с пластика испаряет. Дочка
занималась математикой - векторная графика, преобразование,
коммуникации, связь с БД и пр. Рабочее поле 36*36 мм, 960х960
шагов. Вот думаю - а не попробовать ли приспособить ли ваяния
мелких платок? - Гyдвин(20.06.2023 15:02)
- А софт какой, чтобы управлять станочком? Eddy_Em(519 знак., 20.06.2023 16:07)
- gcode прекрасно обрабатывают прошивки для 3dprinter см. Marlin RxTx(1 знак., 21.06.2023 13:23, ссылка)
- Там адово рукожопие, еще и калокуб. Eddy_Em(246 знак., 21.06.2023 13:40)
- Эдик, не продолжай! По сравнению с большинством проектов, Марлин
вполне приличный, работает почти что в реальном времени. Для
сборной солянки разных архитектур, разных разработчиков, считаю
этот проект очень успешным. Они выжимают десяток килоимпульсов в
секунду для кривых по G-коду с плавающей точкой на Mega2560. Nikolay_Po(911 знак., 21.06.2023 13:53, ссылка)
- При беглом анализе сложилось впечатление что состояние пинов Marlin
генерирует программно, получая прерывание от таймера. Более высокую
частоту чем таймер получает просто в программном цикле внутри
прерывания, несколько раз программно дрюкая ножку. И похоже что
система не работает в мультитаске, на генерирование STEP скорее
всего тратится 100% времени, прерываясь на задачи опроса в тот
момент когда один из движков доезжает до конца. Прерываний
несколько, но они все RxTx(42 знак., 23.06.2023 16:20, ссылка)
- Ну, я в его коде ковырялся: думал, может себе что-нибудь ценное
выдерну. Eddy_Em(1355 знак., 21.06.2023 14:01, ссылка)
- "Я код на калокубе даже длинной палкой тыкать не буду, чтобы не
заляпаться!" А где ты там STM32Cube узрел? Файлы и функции называются HAL? так
это еще не Cube, это просто Hardware Access Layer, их собственный
код, к HAL от ST отношения не имеет. Но и там HAL/LL/CMSIS можно
использовать как библиотеку без собственно кодогенератора
STM32Cube. - RxTx(23.06.2023 22:30)
- "Жаль, правда, не хватило таймеров" Конечно, не хватило, раз ты на
8 движков зачем-то задействовал 8 аппаратных таймеров STM32.
Аппаратный таймер считает и перегружает значение за 0 тактов,
бесплатно. Зато обнуление/совпадение таймера приводит к вызову ISR
= 12t+10t. Но если считать счетчики программно в ISR срабатывающем
с высокой частотой, то это +4 добавочных такта на каждый таймер
(decrement счетчика, и условный переход если-не-0): LDR reg; SUBS
1; STR reg; CBNZ. А RxTx(132 знак., 23.06.2023 22:26)
- Умеет флоаты, Марлин умудрился, программно. В G-коде практически
всё параметры в плавающей точке. А UART для управления драйверами
софтовый - в чём проблема, нужно редко, чтобы настроить и изредка
вычитывать ошибки. Для широты номенклатуры поддерживаемых
контроллеров, программный интерфейс - преимущество и нормальное
решение. Это не рукожопие, а нормальный инженерный подход, решающий
задачу. Nikolay_Po(252 знак., 21.06.2023 14:08)
- Нужна была возможность автономной работы. Посему поставил 4 Мб
флеш. Дочерь всю математику на компе вырисовывала, разбивала
перемещения на короткие кусочки (дискретность в проге можно
задавать) и заливала в станок по ethernet файл с этим массивом. В
станке только короткие перемещения кареток из массива с
брезенхемом. - Гyдвин(20.06.2023 16:35)
- f133 только получил недавно, руки не доходят все - RED_DRAGON(19.06.2023 22:41)
- 3 дня в процессе :) 20-лапые разных серий имет абсолютно разную
разводку. 48-лапые CH32V203C8T6 совпадают по выводам с STM32FC8T6 -
можно впаять в blue pill. Посему можно начать с них. Для V003 нужен
новый однопроводный отладчик. Вот здесь выгоднее всего взять
комплект-> Гyдвин(1 знак., 19.06.2023 21:33 - 22:19, ссылка)
- Поясните пожалуйста различия с памятью в KEIL uVision 5 (для ARM): shan(500 знак., 22.06.2023 18:29, ARM, полностью)
- Все ломанулись в китайские МК.. а комунити-то нету, это не стм32.
Вот и у меня непонятка, хз как интерпретировать (AT32)... POV(607 знак., 19.06.2023 20:29 - 21:02, ARM, картинка, картинка, полностью)
- Всё, отбой.. "компилятор глючит" опять не проканало. Хотя понять
логику происходящего мне тяжело, но таки свой косяк нашёл. И после
всё взлетело. - POV(22.06.2023 21:21)
- Время другое. Driver_gv(74 знак., 22.06.2023 01:40)
- А мы тут кто? - Kpoк(21.06.2023 17:11)
- В асме пока плаваю... вот есть такой переход на функцию
инициализации файловой системы (с этим моментом косяк и связан). POV(173 знак., 20.06.2023 22:20, картинка, картинка)
- Ну так никаких идей почему до main не пошло, стоит на месте? POV(1 знак., 20.06.2023 16:42, картинка)
- вероятно ломанулись те, кто в месяц десятки тысяч МК кушает. А нам
(кто десятки штук) зачем? десятки-сотни штук STM32 всегда можно
купить - Лaгyнoв(20.06.2023 13:50)
- Некоторые МК стали недоступны совсем, некоторые подорожали в 10
раз. +Есть какие-то неизвестные мне причины, заставляющие менять
то, что на первый взгляд доступно и не особо подорожало, типа
ATtiny, возможно, есть проблемы когда они нужны тысячами. AlexG(69 знак., 21.06.2023 08:09)
- Мне десятки лишь нужны. Но сроки нового изделия терпят, решил новый
проц попробовать на нем. На стм вернуться всегда успею. Это ж не
плату делать, девборду под АТ32 купил и проект под нее же
ковыряю... а тут неведомые особенности Кейла сказались, почему-то
на таком проекте не может до main дойти автоматом после прошивки. - POV(20.06.2023 16:02)
- А, если не тысячи, а сотни в месяц, но при этом нужно
спрогнозировать поставки на 5 лет вперед? Потому, что каждые
полгода перепроектировать под новый МК пускай даже и мелкосерийные,
но сразу с
полсотни несколько десятков устройств это вам не баран чихнул! - reZident(20.06.2023 15:17)
- Затем, что в следующем месяце оных ST может вдруг не быть. - LightElf(20.06.2023 14:27)
- Ничего непонятно, но очень интересно... POV(313 знак., 19.06.2023 22:07, картинка)
- зы, а кто на что в итоге ломанулся ? мы на at32... что
лучше-стабильнее ? кто-то множество сравнивал ? - sav6622(19.06.2023 20:53)
- А ежели не F5 а по шагам, есть движение? - AlexBi(19.06.2023 20:50)
- Да, исходный проект, который робит, после прошивки встаёт на иное
место... POV(1 знак., 19.06.2023 20:44, картинка)
- SystemInit? Eddy_Em(542 знак., 19.06.2023 20:32)
- Не думал, что буду задавать вопросы здесь. В общем. собутыльник
сгоношил поделие на 1986ве1. да так талантливо задействовал ноги,
что после первой же прошивки камень теряет способность общаться с
внешним миром через ноги, предназначенные для программирования
(говорят, там их больше одного набора). Нет ли какой-нибудь
волшебной таблетки вроде +12В или потрясти мордой вниз, чтоб он
снова стал программируемым? - Kpoк(20.06.2023 20:06, ARM, полностью)
- 2 AlexG (по постам вижу, что вы им тут занимаетесь): Отладочная
платка WCH CH32F207. Примеры из EVT для Keil, встроенный 10 Мбит
PHY. Не поднимается ethernet link. Пробовал отключать
autonegatiation и дуплекс, тыкал разные патчкорды в разные свитчи,
но лыжи так и не едут... На что еще обратить внимание? Гyдвин(5 знак., 20.06.2023 16:37, ARM, полностью)
- Щупаю CH32V203F8P6. Это вааще недоразумение кокойты... Или пока мы
или китайцы? не умеем их готовить? Подключаюсь WCH-LinkUtility.
Утилитой залить программу в чип через отладочный интерфейс можно.
Но в студии отладчик не работает. Программа заливается и все
виснет. Причем потом и WCH-LinkUtility кристалл не видит пока не
передернешь питание. И даже после передергивания c WCH-LinkUtility
работает криво - отладочный интерфейс отваливается. Навскидку - в
чипе неотключаемый Гyдвин(286 знак., 20.06.2023 14:39, ARM)
- GD32F107RC странности со стартом.. Balda(848 знак., 24.05.2023 16:47, ARM, полностью)
- Через 2 весны таки разобрался почему глючил старт... Balda(113 знак., 19.06.2023 20:01)
- Сейчас последняя мысль.. Balda(98 знак., 25.05.2023 07:48)
- ADD Balda(94 знак., 24.05.2023 17:31)
- У GD, так-же как у STM уровень Power on reset (POR) = 1.8V. Однако,
в отличии от STM, рабочее напряжение у него - от 2.6V. После POR
идет задержка сброса Trsttemp = 1...2мс. Если за это время
напряжение питания не успеет добраться до 2.6V, то никаких гарантий
нормальной работы нет. Если у вас скорость нарастания питания
низкая, и вообще - идет работа с внешней или внутренней Flash, то
для GD просто необходим внешний супервизор на ноге RESET. Это
касается всех GD, кроме 405, il-2(372 знак., 24.05.2023 17:02)
- entry в линкере какой указан? - lloyd(24.05.2023 16:47)
- Имею вопрос: Сегодня пришла платка с CH32F207VС - EVT. Отладчик
(J-Link) не хочет подключаться в Keil. Ругается "Insufficient RAM
for Flash Algorithms !". Pack Keil.WCH32F2xx_DFP.1.0.2 установлен.
Алгоритмы программироания добавлены. Кто-нибудь боролся? - Гyдвин(19.06.2023 18:11, ARM, полностью)
- Изучаю пристально CH32V203F8P6. И нихрена не понимаю. il-2(582 знак., 15.06.2023 11:01, ARM, полностью)
- Народ, а где вы заголовочные файлы и сишный стартап для этих камней
берете? Eddy_Em(489 знак., 19.06.2023 17:38)
- Да брось ты, дружище, всё "как впервые" воспринимать :) Это же...
другие! Даже вид в профиль отличаются как Джобс и Дали. - Нисколько
не ёрничая. Необходимости во внешнем резонаторе на 128, 7-й
гармоники, или осциллятора в котором всё сделано... Оёёй!. Тем
более, что залитый в корпусирование кварц почти невозможен
(существуют на самом деле). :) bnb62(49 знак., 15.06.2023 17:50, ссылка)
- С наводки POV, встречайте - AT32F425F8. Авто-триммирование с
точностью до 0.25% макс, все как положено. Т.е. в режиме Device
даже кварц не нужен. Есть в продаже по 65руб. il-2(1 знак., 15.06.2023 14:28, картинка)
- Дык у него вроде и ног для USB порта не наблюдается... - Гyдвин(15.06.2023 14:10)
- Вобщем после рытья даташитов резюмирую следующее: il-2(465 знак., 15.06.2023 12:41)
- Смотрите на DS внимательно. Там в корпусе F8 есть вариант с
USBD(QFN) и USBHD(TSOP)(порнограф 2.1). Кстате, кварц можэт быть
интегрирован у TSOP в корпус. - mse homjak(15.06.2023 12:20)
- ноги кварца вроде расшарены с каким-то портом, смотри мануал на
семейство - General(15.06.2023 12:00)
- Может Эльф уже разобрался? -> il-2(1 знак., 15.06.2023 11:07, ссылка)
- А зачем хосту кварц, если он сам SOF'ы посылает? - Eddy_Em(15.06.2023 11:03)
- Объясните темному. STM. Будет ли работать регистр GPIO->IDR
если порт в альтернативной функции? IBAH(274 знак., 17.06.2023 16:24, ARM, полностью)
- Будет. - SciFi(17.06.2023 16:27)
- NUC970, непонятное с прерываниями. Хочу прерывания по falling edge
от нескольких ножек, всё работает. Теоретический максимум
срабатываний 30кГц/2кГц = 15 раз. А у меня очень редко бывает
сильно больше. Причём непонятно почему, ведь при попадании в
прерывания источник от соответствующего разряда должен отключаться.
Может что-нибудь надо AIC Advanced Interrupt Controller объяснить в регистрах? (Меня смущает в примерах от производителя
обращение к Dingo(2251 знак., 17.06.2023 08:04, ARM, ссылка)
- Норот, кто имеет хоть какой пояс по CH32V00x? Интересует СПИ, чтобы
работал аппаратный NSS. Делаю всё по СТМовскому букварю, смотрю
настройки порта в отладчике, записано то, что надо для выхода
альтернативной функции. Т.е. должно быть в 1 с 0-выми просечками,
но имею 0. У СТМа, думаю, всё будет стрелять, а вот китайцкое
поделие... - mse homjak(09.06.2023 21:44, ARM, полностью)
- Попробывал ДМА. Хорошо работает. Для упоротых, типа меня, есть
вариант сделать олдскульный СПИ на ДМА. Правда, сожрёт ОЗУ и
скорость СЦК получается в
1020 раз меньше тактовой. - mse homjak(15.06.2023 12:49)
- А под них нет набора сниппетов - как у ST под STM32F0? Eddy_Em(440 знак., 14.06.2023 20:17)
- У них в примерах есть "FullDuplex_HardNSS". Не пробовал? Я только
утром сегодня платки получил. Пытаюсь вникнуть :) - Гyдвин(14.06.2023 19:55)
- 8051 не актуально, удалил. - Costic(12.06.2023 23:04)
- Позанудствую, ибо формулировку неверную вижу я... POV(533 знак., 12.06.2023 23:07)
- Не обязательно инициализация информационного обмена (когда вначале
передается команда и/или адрес), но обязательно сигнал
квитирования. Даже если по SPI гнать одни только данные (без команд
управления), то всегда будет ненулевая вероятность нарушения
синхронности передачи (звон или помеха в цепи CLK и ... опа!).
Сигнал квитирования укажет явно о начале очередного фрейма и
обязывает сбросить счетчик тактовых сигналов в начале приема. - reZident(12.06.2023 23:55)
- ХЗ, обо что у вас разговор, но обычно, по фронту SS, у слэйва
информаццыя переносится из сдвигового регистра в цэлевой. - mse homjak(13.06.2023 00:16)
- Это "обычно" имеет отношение к оставшимся 0,01% применения. Что-то
типа сдвиговых регистров. - POV(13.06.2023 07:54)
- Танунах...Все ЦАПы, АЦПы, синтезаторы и всё прочее работают имана
так: фронт CS фиксирует состояние сдвигового регистра во внутренний
рабочий. - mse homjak(13.06.2023 10:33)
- Не согласен. У многих АЦП за одну транзакцию по SPI можно
установить произвольное количество регистров от 1 до максимума,
который позволяет внутренний счетчик. Или взять те же SerialFlash в
которых буфер под килобайт. Это скольки же разрядный там регистр
по-твоему, если значение его устанавливается одним чохом по фронту
CS? О.о - reZident(13.06.2023 10:41)
- И что? Фронт CS фиксирует содержимое сдвигового регистра во
внутренние. Просто этот регистр "под килобайт". Или таких устройств
может стоять вязанка, но всё равно, логика работы именно такая:
сколько бы бит не прошло через сдвиговый регистр, всё равно, по
фронту CS, текущее состояние сдвигового, перепишется во внутренний.
И, жэлательно, чтобы всё это делалось автоматом. А логика этого
автомата, забота разрабоччика. - mse homjak(13.06.2023 10:59)
- Это твое личное представление разработчика, который проектировал
SPI в FPGA. Было ведь такое, а? ;-) А по факту - нет, в самом общем случае CS это всего лишь сигнал квитирования, который определяет
начало (и конец) транзакции. - reZident(13.06.2023 11:16)
- Ну? А что делает конец транзакции? Прально, фиксирует состояние
сдвигового регистра. Кстате, то АЦП, что вы проедложили в качестве
примера, не совсем катит, т.к. оно работает не по командам проца, а
формирует запрос по DRDY. И то, если оно одно в системе, бо если
кого-то в цепи надо прописать, то АЦП можэт потечь крышей. Когда
устройств много, извольте дёргать CS. И такое устройство нельзя
цеплять в цепь каскадом. В общем, пропиретарщина. Для контраста
можэте глянуть mse homjak(35 знак., 13.06.2023 12:00)
- Чё вы в сдвиговый регистр уперлись? В SerialFalsh и/или EEPROM
буферное ОЗУ это по-вашему тоже сдвиговый регистр чоли? Оно ведь
заполняется по кольцу (кольцевому счетчику адресов) во время
транзакции записи. Нехилый в SF (где буфер 256 байт) 2048-разрядный
регистр забубенили! А потом ведь из этого "регистра" идет запись во
Flash, которая по всему выходит тоже 2048 разрядов имеет? Или как? - reZident(13.06.2023 12:20)
- Если оно задвигается по последовательному каналу, то да, сдвиговый
регистр. Какая разница, скока там разрядов, если вы двигаете его по
одному битику? ЖЫТАГ вообще можэт десятки килобайт жопка к жопке
сдвигать. mse homjak(697 знак., 13.06.2023 12:58)
- Та я ведь и непротив, если вы согласитесь, что CS это сигнал
квитирования (флаг, семафор, назовите его как хотите), а не еще
один тактовый сигнал. - reZident(13.06.2023 13:07)
- Ну да, пусть семафор. Тока по этому семафору сдвиговый регистр
должэн переписаться в регистр рабочий. По банальной причине: когда
у вас начнёца следующая транзакцыя, эти данные будут испорчены и
устройство перейдёт в режим суетолога. До тех пор, пока данные
снова не устаканяца. - mse homjak(13.06.2023 13:25)
- Да нету прямой связи между фронтом CS и (пере)записью каких-либо
унутренних регистров! Внутренняя логика устройства может работать
совсем от другого тактового сигнала и начать обрабатывать
(пере-записывать принятые или подкидывать в последовательный канал
выходные данные) еще до завершения транзакции. CS это лишь признак
начала/окончания транзакции и усё! Он управляет логикой интерфейса
связи, а не логикой работы самого устройства. - reZident(13.06.2023 13:46)
- Да, можэт. От тот техасский АЦП из этой серии. Воткнуть его в
цэпочку устройств, нельзя. Для работы его нужно выделить в
отдельный загончик. По входу он должэн ловить только то, что нужно
только ему. Т.е. это голимая пропиретарщина. Я вам это ужэ пол-дня
объясняю. Причом нет никакой причины, чтобы нельзя было сделать по
уму. Обычное рукожопие. - mse homjak(13.06.2023 14:04)
- А я вам объясняю, что нету прямой связи между CS и внутренней
логикой работы устройства. Взять тот же STM32. У него сдвиговый
регистр максимум 16-разрядный, а передавать через SPI можно ажно
килобайты без "отмашки" каждых 2 байт CS-ом, не так ли? Потому, что
унутренний конвейер позволяет подтаскивать данные в сдвиговый
регистр SPI и производить перезапись в/из него согласно своей
унутренней логике работы модуля SPI. Фронт CS, то бишь NSS лишь
запрещает тактировать reZident(133 знак., 13.06.2023 14:33)
- Можно. Но в регистрах управления есть биты, отвечающие за это. Т.е.
можно (было бы) отмахивать CS каждое слово, а можно не обмахивать.
Можно было бы пользовать устройства типа ЕЕПРОМ, с последовательной
многобайтной записью и можно было бы пользовать устройства с
фиксированной длиной слова. Причом, используя ДМА. А так, налицо
какая-то херня, когда имеем, вроде бы, полный набор для скоростной
работы с узлом без участия процэссора, но вынуждены сидеть в цыкле
и mse homjak(24 знак., 13.06.2023 14:48)
- Будто бы флеш не знает, что у неё записано на момент фронта CS. В
ней и так зафиксировано. Речь об устройствах ввода, типа АЦП или
регистров - действительно удобно фиксировать состояние именно по CS
- по началу транзакции. - Nikolay_Po(13.06.2023 10:49)
- именно - POV(13.06.2023 00:03)
- Кстате, смотрю, у них есть ещо 20-ношки. Топовый вариант 144МНz, но
то % с ним. Но 128к флеши и 32к ОЗУ... Это зачем? Тем более, что
плывучка есть. - mse homjak(12.06.2023 22:57)
- SPI SCLK заводишь на таймер. Как только появляется SCLK таймер
отмахивает тебе нужную длительность NSS. - RxTx(12.06.2023 00:12)
- Кароч... СПИ курильщика во всей красе... CS сбрасывал перед записью
в регистр данных. Попутно выяснил, что прерывание по RXNEIE
выставляется сильно до конца транзакцыи в 16 бит. Видимо, после
приёма 8 бит. О цэ дило, как говорят небратья. Пришлось колхозить
последовательность инструкцый в прерывании. Что-жэ оно мне
напринимает из АЦП, хотелось бы узнать? mse homjak(1 знак., 11.06.2023 13:14, картинка)
- Они в этом полностью повторили поведение STM32. Всё правильно у
тебя работает, как и должно по задумке ST (но не по нашей). В
режиме мастера у STM32 NSS не работает как строб (вопреки
ожиданию). При SPI_CR2.SSOE=1 на NSS будет просто 0, пока активен
SPI периферал. +Полезно знать что после передачи посылки SPI
периферал отрубается (внутри HAL или сам не помню) и выходы
переходят в Z-state (floating), втч NSS, если выставить внутренний
пуллап, поднимаются относительно медленно. RxTx(170 знак., 11.06.2023 00:58, картинка)
- у меня 003 закуплено, жду однопроводный WlinkE отладчик с алика -
имеется WLink - он умеет только двухпроводный. как приедут поробую
отпишусь про spi если еще будет актуально. - klen(10.06.2023 09:49)
- Если есть возможность посмотреть на каком STM32F1**, как SPI
работает с аппаратным NSS, гляньте, пожалуйста. У ST во всех
примерах нашёл только soft_nss. Такое впечатление, что там зарыта
нехилая собака, если дажэ производитель намекает, что "туда нэ
хады". Тут ужэ и китайцам пенять нечего. Хотя, чо там такого, ХЗ. - mse homjak(10.06.2023 11:43)
- ды это вроде в f1xx нет аппаратного nss, посколько нет регистра
указывающего сколько битов посылка - а без этого никто не можежет
знать когда закрыть аппаратно cs. в старших микросхемах есть это -
можно указать размер слова и количество слов в транзакции, тут есть
аппаратный cs. f1 - унылое гомно мамонта, разве не так? - klen(10.06.2023 18:28)
- Смутно вспоминается, что у F10x аппаратный nSS только для слейва
имеется. Но я его давно ковырял, могу ошибаться. Что до унылости -
я полностью согласен, но тут норот его почему-то любит. - LightElf(10.06.2023 19:54)
- Именно. "....NSS – вывод предназначен для выбора подчинённого
устройства в режиме Slave, при подаче на его вход логического ноля,
также с помощью этого вывода можно переключать режимы SPI
(Master/Slave), в мультимастерной шине....Итак, вывод NSS работает
не совсем так, как привычный CS у AVR, и в режиме Master для выбора
ведомого необходимо использовать GPIO." petrd(1 знак., 11.06.2023 09:16, ссылка)
- Не... Это ужэ отмазки типа "не баг, а фича". В базе, логика работы
СПИ обязана поддерживаться. Тем более, что эта логика простейшая.
Да и просто логика пользования: вы даёте ДМА, СПИ на частоте Фцлк/2
и(внезапно!) нужно следить за Бизи и махать лапкой вручную,
соревнуясь в скорости с ДМА и Фцлк/2. "Нахуя? И, главное,
зачем?"(С). Ясен%, что для ЦПУ за 20р, это простительно. И для
ЦПУза 200р, это простительно, потому, что у него полный фарш на
борту, как у иного, за 1000. Но mse homjak(41 знак., 11.06.2023 11:12)
- Норот любит СН32V003. 20 ног, 48МГц, R-V. Цэна, 20р на Али. Лихая
замена Мега*8. Но цэна имеет свою цэну. - mse homjak(10.06.2023 19:59)
- Каг это нету? 8-16 бит. STM32F101/103, выписка из регистра SPI_CR1: mse homjak(1 знак., 10.06.2023 19:54, картинка)
- Мне кажется, что в STM с "мультимастер" там что-то сильно
намуд(р)или и забажили, а китайцы лишь добросовестно все баги
воспроизвели. - reZident(10.06.2023 13:26)
- А не надо по СТМовскому, различий полно CH32 не пробовали, но с
GD32 секса поимели. - Visitor(09.06.2023 22:20)