Я не врубаюсь что этот второй ключ делает? 6-я нога это и-не 4-й и 5-й ног, когда ключ размыкает контакт на MOSI с 6-й ноги сигнал идёт, когда контакт замкнут то это вроде на выходы для пика должно влиять? В общем хочу понять этот ключ тоже переключатель для ПИК/АВР или для чего-то ещё.
Мелкие вопросы по МК и ПЛИС.
- Сообщения: 23
- Зарегистрирован: Вс авг 16, 2015 10:55:51
bav123
Я не врубаюсь что этот второй ключ делает? 6-я нога это и-не 4-й и 5-й ног, когда ключ размыкает контакт на MOSI с 6-й ноги сигнал идёт, когда контакт замкнут то это вроде на выходы для пика должно влиять? В общем хочу понять этот ключ тоже переключатель для ПИК/АВР или для чего-то ещё.
Я не врубаюсь что этот второй ключ делает? 6-я нога это и-не 4-й и 5-й ног, когда ключ размыкает контакт на MOSI с 6-й ноги сигнал идёт, когда контакт замкнут то это вроде на выходы для пика должно влиять? В общем хочу понять этот ключ тоже переключатель для ПИК/АВР или для чего-то ещё.
- Реклама
Отключает/подключает диод VD2 к выходу "6" IC2 превращая его в подобие выхода с открытым коллектором, который в свою очередь совместно со входами "1" и "2" необходим для реализации двунаправленной шины Data для PIC МК.ma747 писал(а):Я не врубаюсь что этот второй ключ делает?
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Сообщения: 23
- Зарегистрирован: Вс авг 16, 2015 10:55:51
В общем я понял можно использовать ключ который будет один два направления коммутировать (если найду).
Застрял с настройкой HSE+PLL в STM32F030.
Где чего не так я делаю?
Где чего не так я делаю?
Спойлер
Код: Выделить всё
RCC->CR |= RCC_CR_HSEON; // Включить HSE
while((RCC->CR & RCC_CR_HSERDY) == 0) {} // Ждём включения HSE
RCC->CFGR2 |= RCC_CFGR2_PREDIV1_DIV1; // Предделитель PLL отключён
RCC->CFGR |= RCC_CFGR_PLLSRC_HSE_PREDIV; // Используем HSE для PLL
RCC->CFGR |= RCC_CFGR_HPRE_DIV1; // SYSCLK без деления
RCC->CFGR |= RCC_CFGR_PPRE_DIV1; // HCLK без деления
// RCC->CFGR |= (uint32_t) (RCC_CFGR_SW_HSE);
// while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSE) {}
RCC->CR &= (uint32_t)(~RCC_CR_PLLON); // Отключаем PLL
while((RCC->CR & RCC_CR_PLLRDY) != 0) {} // Ждём пока PLL отключится
RCC->CFGR = RCC->CFGR & (~RCC_CFGR_PLLMUL) | (RCC_CFGR_PLLMUL6); // Устанавливаем множитель
RCC->CR |= (uint32_t) (RCC_CR_PLLON); // Включаем PLL
while((RCC->CR & RCC_CR_PLLRDY) == 0) {} // Ждём установления PLL
RCC->CFGR |= (uint32_t) (RCC_CFGR_SW_PLL); // Выбираем PLL как источник
while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) {} // Ждём пока PLL включится
RCC->CR |= RCC_CFGR_MCO_SYSCLK; // Включаем на PA8 выход системной частотыПовесить CS на любой GPIO и выставлять его в высокий уровень по окончанию передачи по DMA. На память не помню. Вроде бы на 350 наносекунд минимум, чтобы контроллер TFT осознал break в обмене.Chettuser писал(а):Здравствуйте.
Настроил STM32F103 на работу с SPI+DMA. Это нужно для работы с LCD от Nokia 1616. Но вот не пойму - как мне дёргать ногу дисплея nCS при таком настроенном автомате? Дело в том, что дисплей кушает 9-битный SPI, а вот у МК только на выбор или 8 или 16 бит. Шлю 16 бит со сдвигом. В конце передачи надо бы защёлкнуть, но настроено DMA и не пойму как это сделать с минимальными вмешательствами.[/b].
Спасибо.
На самом деле, если не читаете из фреймбуфера, можно CS намертво повесить на землю и добивать последний байт/слово командой(командами) NOP, с перекрытием следующего байта/слова. Ну и фиксировать в переменной, что часть байта/слова уже заняты. С чтением такой вариант не пройдет. Чтение при любом раскладе следует завершать высоким уровнем CS.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
- Реклама
Это не только АВР. И Микрочип и СТМ и другие. Очевидно как то связано с технологией памяти.
Это наследие от PROM-памяти на пережигаемых перемычках, которая в исходном состоянии была "заполнена" единицами (все перемычки целы), а программировалась путём пережигания перемычек (записью нолями).
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. 
Всегда с уважением, Александр.
Всегда с уважением, Александр.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Флэш память STM32L после стирания заполнена нулями. С пережигаемыми перемычками флэш память ничего общего не имеет - "принцип работы флеш-памяти основан на изменении и регистрации электрического заряда в изолированной области ("карман") полупроводниковой структуры."Chettuser писал(а):Это не только АВР. И Микрочип и СТМ и другие.
http://hobbyits.com/cifrovye-texnologii ... myati.html
p/s Микросхема К155РЕ3 представляет собой электрически программируемое посредством пережигания плавких перемычек постоянное запоминающее устройство (ППЗУ) емкостью 256 бит (32x8). В исходном состоянии по всем адресам и разрядам записан логический ноль.
- Сообщения: 616
- Зарегистрирован: Вс ноя 01, 2015 13:13:49
После стирания ЕЕПРОМ СТМ8, насколько помню, тоже забита нулями.oleg110592 писал(а):Флэш память STM32L после стирания заполнена нулями.Chettuser писал(а):Это не только АВР. И Микрочип и СТМ и другие.
Скоро появится STM32H7, интересно - в каких корпусах (пока от LQFP100) и по какой цене будет такой фарш?
На STM32F0 имеются сниппетсы, а на другие линейки, в частности F1, имеется что-нибудь похожее? Очень не хватает заведомо рабочих примеров, что бы подсмотреть некоторые моменты.
КАЛ и СПЛ не интересует - я заипался в них копаться, чтобы найти нужное на КМСИСЬ.
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Даю наводку.
Ну например таймеры у всех линеек почти одинаковые.
SPI, UART ...
Что конкретно интересует?
Ну например таймеры у всех линеек почти одинаковые.
SPI, UART ...
Что конкретно интересует?
Да всё, что есть в этом долбанном SPL/HAL, но только на CMSIS. Сижу вот, копаюсь в RM и STM32F10x.h
Вроде жалкое подобие нашёл: http://chipspace.ru/stm32-spi/
Но всё равно что то не то... Ну негде подсмотреть некоторые моменты, которые нигде не описаны. Это только на реальных примерах можно увидеть, как в сниппетсах.
Вроде жалкое подобие нашёл: http://chipspace.ru/stm32-spi/
Но всё равно что то не то... Ну негде подсмотреть некоторые моменты, которые нигде не описаны. Это только на реальных примерах можно увидеть, как в сниппетсах.
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Ну дык постепенно все и освоить.
Что конкретно надо с SPI?
Побайтовая транзакция или блочная с DMA?
Что конкретно надо с SPI?
Побайтовая транзакция или блочная с DMA?
Страницу открыл для примера, SPI я уже освоил.
Ладно, придётся вопросы тут задавать, по мере поступления.
Спокойной ночи всем!
Ладно, придётся вопросы тут задавать, по мере поступления.
Спокойной ночи всем!
- Сообщения: 593
- Зарегистрирован: Пт дек 26, 2014 20:33:38
- Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)
Так делается не для чего, а почему. По своей сути, физической основе, только что изготовленная "чистая" флэш-память заполнена единицами, а процесс записи сводится к тому, что программируются, меняя свое состояние ячейки, где должен быть 0, остальные фактически просто не меняют свое состояние. А при стирании эти же ячейки меняют свое состояние на 1. Причем как запись, так и стирание идет поблочно, обычно размеры блоков выравнены на степень двойки.FreshMan писал(а):почему после стирания флеша на авр там все заполнено единичками а не нулями ? для чего так делается ?
О технике чего спорить-то, давайте попробуем.
Если уж говорить о флеш памяти, то чистая, то есть стертая ячейка флеш памяти не содержит электронов в плавающем затворе, а значит транзистор в ее ячейке при подаче напряжения на затвор откроется. Если же в затвор тоннельным эффектом были занесены электроны, то транзистор не откроется. А уж считать ли открытый n-канальный транзистор логическим нулем или единицей есть в чистом виде схемотехническое решение. Если включить его с общим стоком или затвором - будет 1, общим истоком - будет 0.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
- Сообщения: 593
- Зарегистрирован: Пт дек 26, 2014 20:33:38
- Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)
Сейчас мы людей запутаем. Я говорю о реальной флеш-памяти. о продающихся микросхемах, "черных ящиках", имеющих входы и выходы с конкретными логическими уровнями, т.е как раз имеющими то самое "в чистом виде схемотехническое решение". При чтении не пользованной или стертой памяти читаются единицы во всех микросхемах, с которыми я имел дело. Это микроконтроллеры AT91SAM7, AVR, STM8, STM32, AT45DBxxx.
Может быть Вам попадались другие - допускаю такое, скажите какие, думаю это будет полезно знать и мне и всем остальным.
Может быть Вам попадались другие - допускаю такое, скажите какие, думаю это будет полезно знать и мне и всем остальным.
О технике чего спорить-то, давайте попробуем.
- Сообщения: 315
- Зарегистрирован: Пт янв 29, 2010 19:42:27
Есть ли где то тестовая прошивка для 8 меги ?
гоняющя данные по кольцу UART (закоротить rx-tx) используюзая много математики и всю ОЗУ
таймер
по результатам зажигающая светодиод в случае успеха ( или другой светодиод в случае ошибок).
Если эта тема не подходит куда задать вопрос?
гоняющя данные по кольцу UART (закоротить rx-tx) используюзая много математики и всю ОЗУ
таймер
по результатам зажигающая светодиод в случае успеха ( или другой светодиод в случае ошибок).
Если эта тема не подходит куда задать вопрос?
ух ты.... показывает



