|
STM32F1->MCO качество сигнала |
|
|
|
May 28 2013, 15:15
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
STM32F100, пин PA8, с альтернативными функциями USART1_CK / MCO / TIM1_CH1. Таймер1 отключен. USART1 включен, работает в асинхронном режиме. Включил MCO ( вывод клока для внешнего использования ), в качестве источника клока HSI. Наблюдаю такую картину, в моменты передачи по USART1:
Круто. Сам сигнал с MCO выводится для тактирования ПЛИС. Кто-нить уже сталкивался с подобным? С инициализацией проблем нет, там всего две строчки: Код void BspPldInit( void ) { McuPinConfig( MCU_PIN_PA08, MCU_PIN_MODE_OUT_PP_AF_10MHz ); McuClkOutConfig( MCU_CLK_OUT_SRC_HSI ); }
|
|
|
|
|
May 30 2013, 14:13
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(ViKo @ May 30 2013, 15:01)  Не могу в это поверить. С печатными проводниками всё нормально, ничто ни за что не зацепилось? На PCB напортачить практически не реально, всего один короткий проводник.
Цитата(DASM @ May 30 2013, 12:49)  Очередной "бэгрипорт" не состоялся ? Пока просто интересует опыт тех, кто _реально_ работал с сабж. Цитата(DASM @ May 29 2013, 09:05)  а не дурацких макросах от стм? - они не дурацкие, а единообразные на всех используемых мной архитектурах МК, что для ARM, что для AVR, что для MSP - не макросы - не от ST
Сообщение отредактировал IgorKossak - May 30 2013, 14:53
|
|
|
|
|
May 30 2013, 21:10
|
Местный
  
Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600

|
Цитата(Genadi Zawidowski @ May 30 2013, 23:08)  Ну пять-то вольт откуда в процессоре вообще? Это не из ПЛИС идёт? Нет. На плате всего одно питание 3,3В. Масштаб каритнки 0,5В в клетке. Цитата(Genadi Zawidowski @ May 30 2013, 23:08)  Я использовал выход для контроля в целиком работающей системе (STM32F105) - ничего необъяснимого не наблюдал. С работающим UART1?
|
|
|
|
|
Jun 1 2013, 14:29
|

Местный
  
Группа: Свой
Сообщений: 213
Регистрация: 28-02-07
Из: Киев
Пользователь №: 25 744

|
Использовал МСО для тактирования внешнего АЦП частотой 12МГц (выход HSE), был задействован USART1, всё отлично работало. Правда, на F103, но это скорее всего не важно. Проверьте, не установлен ли бит CLKEN в USART1->CR2 Если на пин выведены альтернативные функции от нескольких модулей, нужно быть внимательным и не допускать одновременной работы таких модулей либо блокировать работу альтернативной функции в одном из модулей. В Вашем случае выход CLK у USART1 должен быть запрещен. Цитата(DASM @ Jun 1 2013, 16:59)  Если Вы видели эти стмовские полумакросы-полуфункции (иногда и не понять что есть что Чтобы так говорить, нужно вначале самому их видеть. В приведенном топикстартером фрагменте использованы не стандартные библиотечные функции, а свои. Как раз при отказе от библиотечных функций часто и возникают ошибки, связанные с неправильной инициализацией периферии. Поэтому прежде, чем писать свои функции, напрямую работающие с регистрами, лучше вначале взять и разобраться со стандартными, понять где и что не нравится, и только потом уже писать свои
|
|
|
|
|
Jun 1 2013, 19:22
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(koyodza @ Jun 1 2013, 18:29)  Поэтому прежде, чем писать свои функции, напрямую работающие с регистрами, лучше вначале взять и разобраться со стандартными, понять где и что не нравится, и только потом уже писать свои Это уже пошёл оффтопик, но я, тем не менее, вставлю свои 5 копеек. Всегда манипулировал регистрами, опираясь только на Reference Manual. Всё получалось. Библиотеку не использовал из-за неприязни (кривой она показалась). Сейчас, однако, мог бы и потерпеть неприязнь, если библиотека реально ускоряет разработку: жизнь слишком коротка. Старею, наверное :-)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|