STM32 новичку в ARM что к чему
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Почему в референс мануале на F030xx в разделах, упоминающих RTC, не говорится о том, что кварц 32768 можно подключить только к чипам Cx и Rx исполнения, т.е при наличии не менее 48 ног?
Прошелся по описанию тактов, конкретно от LSE - молчание. В разделе собственно RTC аналогично. То же и в ДШ. При этом по другим моментам пишут в примечаниях, мол, такое-то не для таких-то девайсов. Только по табпице распиновки можно понять, что к TSSOP28 и LQFP32 часовой кварц ни-ни. Понятно, что можно взять щелчки от оставшихся трех источников, но не понятно, почему об этом явно не пишут. Или я что-то не понимаю?
Прошелся по описанию тактов, конкретно от LSE - молчание. В разделе собственно RTC аналогично. То же и в ДШ. При этом по другим моментам пишут в примечаниях, мол, такое-то не для таких-то девайсов. Только по табпице распиновки можно понять, что к TSSOP28 и LQFP32 часовой кварц ни-ни. Понятно, что можно взять щелчки от оставшихся трех источников, но не понятно, почему об этом явно не пишут. Или я что-то не понимаю?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Реклама
Re: STM32 новичку в ARM что к чему
Потому что в референсе присутствует только описание работы модулей МК, а наличие или отсутствие модулей, как и наличие или отсутствие пинов МК, описывает даташит.
Re: STM32 новичку в ARM что к чему
вот в Меге8 мудро поступили - на ноги основного кварца можно повесить 32К, и работать от внутреннего...что к TSSOP28 и LQFP32 часовой кварц ни-ни
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
ОК. Вот вырезка из RM0360:
Обратите внимание на название картинки. Оно включает в себя так же F030F4 и F030K6, 20- и 32-ногие чипы соответственно.
Внизу есть примечание об отсутствии НЧ генераторов только в F030х8 чипах. Все остальные должны иметь всё, изображенное на блок-схеме.
На деле же упомянутые мной выше кристаллы НЕ имеют выводы предназначенные под часовой кварц.
Потому я и спросил в чем причина этого: ошибка мануала или я не знаю каких-то особенностей.
Спойлер

Внизу есть примечание об отсутствии НЧ генераторов только в F030х8 чипах. Все остальные должны иметь всё, изображенное на блок-схеме.
На деле же упомянутые мной выше кристаллы НЕ имеют выводы предназначенные под часовой кварц.
Потому я и спросил в чем причина этого: ошибка мануала или я не знаю каких-то особенностей.
В равнозначных ему PIC16F87xA чипах поступили еще мудрее: отдельные выводы для ВЧ кварца, отдельные для НЧ, но тема не о них.zöner писал(а):вот в Меге8 мудро поступили...
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: STM32 новичку в ARM что к чему
Откройте даташит и посмотрите к каким выводам подключается часовой кварц (это PC14 и PC15). Они есть в F030F4?Zhuk72 писал(а):Обратите внимание на название картинки. Оно включает в себя так же F030F4 и F030K6, 20- и 32-ногие чипы соответственно. Внизу есть примечание об отсутствии НЧ генераторов только в F030х8 чипах. Все остальные должны иметь всё, изображенное на блок-схеме.
Вероятнее всего во всех моделях перечисленных на картинке один и тот же кристалл, но выведено разное число выводов в зависимости от модели.
- Реклама
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
На картинке перечислены (сужу по свежему ST MCU Finder) F030F4, F030K6, F030C8 и F030R8. Согласно распиновке в этом же документе, первые два не имеют выводов под LSE, а согласно примечанию под картинкой последние два не имеют ни LSE, ни LSI. Так для чего надо было рисовать то, чего нет ни в одном из описываемых чипов?
Выходит, что единственным достоверным источником тактов для часов может быть только внешний кварц.
Выходит, что единственным достоверным источником тактов для часов может быть только внешний кварц.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: STM32 новичку в ARM что к чему
Внимательно смотрите в картинку, вы там явно не видите.
Re: STM32 новичку в ARM что к чему
Не знаю что там подразумевают на картинке, но в F030C8 LSE есть.
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
[uquote="scorpi_0n",url="/forum/viewtopic.php?p=3144555#p3144555"]Внимательно смотрите в картинку, вы там явно не видите.[/uquote]
Что именно не вижу?
Что именно не вижу?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: STM32 новичку в ARM что к чему
Что сноска "1. LSI/LSE is not available on STM32F030x8 devices." относится только к МСО.
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Ясно. Но в таком случае логично было бы и около OSC32 выводов поставить цифру 2 и в примечании указать not available on STM32F030x4 and STM32F030x6 devices.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32 новичку в ARM что к чему
Добрый вечер! Вопрос по SPI? MCU STM32F103C8 дисплей ST7735s
беру функцию инициализации: Если в коде инициализации вместо lcd7735_sendCmd(0x11); писать SPI1->DR = 0x11; то всё работает. Если изменить функцию то ничего не работает, почему так ведь это же одно и тоже?
беру функцию инициализации:
Код: Выделить всё
/*******************************************************************************
Имя функции : lcd7735_ini
Описание : Инициализация дисплея
Ввод : Нет
Возврат : Нет
*******************************************************************************/
void lcd7735_ini(void) {
LCD_CS0; // CS=0
LCD_RST0; // RST=0
HAL_Delay(10);
LCD_RST1; // RST=1
HAL_Delay(10); //
lcd7735_sendCmd(0x11); // вывод из спящего режима
HAL_Delay(120); // задержка
lcd7735_sendCmd (0x3A); // режим цвета:
lcd7735_sendData(0x05); // 16 бит
lcd7735_sendCmd (0x36); // направление вывода изображения:
lcd7735_sendData(0x14); // порядок цветов RGB, 0х14 (0x1C)-снизу вверх, справа на лево
lcd7735_sendCmd (0x29); // Включить дисплей
}Код: Выделить всё
/*******************************************************************************
Имя функции : lcd7735_sendCmd
Описание : Отправка команды
Ввод : cmd - передаваемая команда
Возврат : Нет
*******************************************************************************/
void lcd7735_sendCmd(unsigned char cmd) {
LCD_DC0; // установим ноль на линии DC
//lcd7735_senddata(cmd);
SPI1->DR = cmd;
while(SPI1->SR & SPI_SR_BSY);
}- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Разбираюсь с 401RE.
Наткнулся на непонятки в ситуации, когда моя инициализация вешала МК после смены системных тактов с внутреннего генератора 16 МГц на PLL с конечным выходом 80 МГц (84 допустимый максимум). Уже хотел писать сюда, но тут неожиданно (не искал даже) наткнулся на статью уважаемого котоварища YS, в которой говорится о флэше и частоте. Зашел в RM, увидел, победил. Светодиод исправно замигал.
Но теперь пришел черед второй непонятки, которая меня раздражала, раз уж с первой разобрался.
Итак в startup.s первой прописана SystemInit() в генерируемом системой файле тратата.с следующего содержания (после очистки от комментариев и условной компиляции)...
Пока писал, разобрался и со второй проблемой. Как оказалось, разрешение FPU должно идти в самом начале инициализации. Просто прописал ее мануальный асм вариант в startup.s и все заработало.
Вот так писал вопрос, а получился маленький ФАК.
Задержкой помигал, системным таймером тоже, теперь пойду мигать стандартным таймером, потом часами, ну а дальше как получится
Наткнулся на непонятки в ситуации, когда моя инициализация вешала МК после смены системных тактов с внутреннего генератора 16 МГц на PLL с конечным выходом 80 МГц (84 допустимый максимум). Уже хотел писать сюда, но тут неожиданно (не искал даже) наткнулся на статью уважаемого котоварища YS, в которой говорится о флэше и частоте. Зашел в RM, увидел, победил. Светодиод исправно замигал.
Но теперь пришел черед второй непонятки, которая меня раздражала, раз уж с первой разобрался.
Итак в startup.s первой прописана SystemInit() в генерируемом системой файле тратата.с следующего содержания (после очистки от комментариев и условной компиляции)...
Пока писал, разобрался и со второй проблемой. Как оказалось, разрешение FPU должно идти в самом начале инициализации. Просто прописал ее мануальный асм вариант в startup.s и все заработало.
Вот так писал вопрос, а получился маленький ФАК.
Задержкой помигал, системным таймером тоже, теперь пойду мигать стандартным таймером, потом часами, ну а дальше как получится
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Alexey_N
- Сверлит текстолит когтями
- Сообщения: 1273
- Зарегистрирован: Вт фев 01, 2011 17:56:40
- Откуда: г. Жуковка, Брянская обл.
Re: STM32 новичку в ARM что к чему
[uquote="amv2000",url="/forum/viewtopic.php?p=3151370#p3151370"]Если в коде инициализации вместо lcd7735_sendCmd(0x11); писать SPI1->DR = 0x11; то всё работает. Если изменить функцию то ничего не работает, почему так ведь это же одно и тоже?[/uquote]
Разве одно и то же? Функция меняет линию DC, посылает байт команды в буфер SPI и ждет(!) пока он не уйдет. Не работать может по разным причинам, но, возможно, дело в линии DC - лог. анализатором надо посмотреть что происходит и сравнить с алгоритмом работы контроллера дисплея.
Код: Выделить всё
/*******************************************************************************
Имя функции : lcd7735_sendCmd
Описание : Отправка команды
Ввод : cmd - передаваемая команда
Возврат : Нет
*******************************************************************************/
void lcd7735_sendCmd(unsigned char cmd) {
LCD_DC0; // установим ноль на линии DC
//lcd7735_senddata(cmd);
SPI1->DR = cmd;
while(SPI1->SR & SPI_SR_BSY);
}Разве одно и то же? Функция меняет линию DC, посылает байт команды в буфер SPI и ждет(!) пока он не уйдет. Не работать может по разным причинам, но, возможно, дело в линии DC - лог. анализатором надо посмотреть что происходит и сравнить с алгоритмом работы контроллера дисплея.
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Всем привет.
Кто-нибудь может объяснить, почему на F401 такты у SPI такие неравномерные? И это при том, что работает только SPI раз в секунду и прерывание по системному таймеру каждую мс.
Работать-то это работает, но ранее смотрел SPI на F103, так там все было красиво, а тут как будто вручную ногу дергают. Инициализация простейшая. Если интересно, то вот:
Кто-нибудь может объяснить, почему на F401 такты у SPI такие неравномерные? И это при том, что работает только SPI раз в секунду и прерывание по системному таймеру каждую мс.
Работать-то это работает, но ранее смотрел SPI на F103, так там все было красиво, а тут как будто вручную ногу дергают. Инициализация простейшая. Если интересно, то вот:
Код: Выделить всё
void spi2_init(void)
{
// APB1 = 40MHz
RCC->APB1ENR |= RCC_APB1ENR_SPI2EN;
SPI2->CR1 = (SPI_CR1_BR_0 | SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_MSTR | SPI_CR1_DFF); // 40:4 MHz.
SPI2->CR2 = SPI_CR2_TXEIE;
NVIC_EnableIRQ(SPI2_IRQn);
}
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Alexey_N
- Сверлит текстолит когтями
- Сообщения: 1273
- Зарегистрирован: Вт фев 01, 2011 17:56:40
- Откуда: г. Жуковка, Брянская обл.
Re: STM32 новичку в ARM что к чему
Сложно сказать... как вариант лог. анализатор, если он китайский клон, то на высоких частотах так может показывать - мой так точно.
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Ну не знаю. Я не помню какую частоту я выдавал на F103, но где-то в районе мегагерца.
А здесь даже на 4 МГц такая рваная картинка.
Да и с чего клону так врать? ПЛМ же и у оригинала, и у китайца одинаковые, а входной буфер я менял.
Для пробы попробую проверить картинку на МСО. Там-то уж точно частота от работы периферии не зависит.
А здесь даже на 4 МГц такая рваная картинка.
Да и с чего клону так врать? ПЛМ же и у оригинала, и у китайца одинаковые, а входной буфер я менял.
Для пробы попробую проверить картинку на МСО. Там-то уж точно частота от работы периферии не зависит.
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Zhuk72
- Сверлит текстолит когтями
- Сообщения: 1231
- Зарегистрирован: Ср янв 29, 2014 08:41:31
- Откуда: Баку
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Вообще там должно быть не больше 10, но по диаграмме этого не понять, потому что длительности импульсов разнятся по всему пакету.
В принципе меня это не особо волнует, ибо шина работает. Просто интересно было выяснить причину.
А в чем отличие клона от оригинала, если уж на то пошло? ПЛМ левый, сборка или еще что?
В принципе меня это не особо волнует, ибо шина работает. Просто интересно было выяснить причину.
А в чем отличие клона от оригинала, если уж на то пошло? ПЛМ левый, сборка или еще что?
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Re: STM32 новичку в ARM что к чему
[uquote="Zhuk72",url="/forum/viewtopic.php?p=3154900#p3154900"]А в чем отличие клона от оригинала, если уж на то пошло? ПЛМ левый, сборка или еще что?[/uquote]
Да нет , отличий от первых версий оригинала насколько помнится нет. Просто у всех клоны .
Кстати, решил брать этот анализатор, так же уткнулся в ограничения... https://ru.aliexpress.com/item/Kingst-L ... 396.0TSocH
Да нет , отличий от первых версий оригинала насколько помнится нет. Просто у всех клоны .
Кстати, решил брать этот анализатор, так же уткнулся в ограничения... https://ru.aliexpress.com/item/Kingst-L ... 396.0TSocH



