0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
1 | |
stm32f10x и saleae logic10.08.2014, 13:55. Показов 14402. Ответов 38
Метки нет (Все метки)
Доброго времени суток!
Приобрел не так давно на просторах китайского интернета Saleae Logic Analyzer для, скажем так, полноты ощущений при погружении в мир микроконтроллеров ) Фото девайса (~ 1,5M) Хотел сначала попробовать его на SPI интерфейсе, но решил сначала подключить что попроще Для опытов была задействована простая программа, которая раз в 500ms включает/выключает светодиод Смотрел на анализатор во время работы функции Код
void LED_BLINK() { LED_ON(); Delay(500); LED_OFF(); Delay(500); } <Изображение удалено> Не понимаю почему анализатор показывает смену состояний не каждые 500мс? Я не так настроил софт или еще чего не понимаю? Помогите, пожалуйста, разобраться
0
|
10.08.2014, 13:55 | |
Ответы с готовыми решениями:
38
Восстановление клона Saleae Logic 16 Китайский Saleae Logic (на Cypress) в Linux Logic от Saleae - как сделать вывод в ASCII ? 3V logic --> 6v logic 20Mhz 5mA x4 перестал работать клон saleae |
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
11.08.2014, 13:10 | 21 |
Да, но функция GPIO_Init выполняет установку параметров только тех выводов, которые задаются битовой маской GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;. Остальные не модифицируются.
Для входа скорость указывать не надо.
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
11.08.2014, 14:01 | 22 |
Сообщение от DOOMSDOY
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
14.08.2014, 15:44 | 23 |
Раз уж зашла речь о тактировании....
Видимо, я снова что-то не понимаю в system_stm32f10x.c стоит Код
#define SYSCLK_FREQ_72MHz 72000000 Код
uint32_t q; uint8_t a; RCC_GetClocksFreq(&RCC_Clocks); q = RCC_Clocks.SYSCLK_Frequency; a = RCC_GetSYSCLKSource(); SysTick_Config(72); RCC_GetClocksFreq(&RCC_Clocks); q = RCC_Clocks.SYSCLK_Frequency; a = RCC_GetSYSCLKSource(); GetSYSCLKSource выставлен в PLL (что вроде так и должно быть) а RCC_Clocks.SYSCLK_Frequency = 648000000 Как тут получаются 648 мегагерц? оО
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
14.08.2014, 16:16 | 24 |
А что при этом показывает .HCLK_Frequency - 72МГц?
Сообщение от korosyo
Или у Вас этот код какую-то разовую микрозадержку делает, в режиме поллинга, без SysTick-прерывания?
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
14.08.2014, 16:30 | 25 |
Сообщение от OtyxPM
Или у Вас этот код какую-то разовую микрозадержку делает, в режиме поллинга, без SysTick-прерывания? Мне нужна задержка в 10 наносекунд для дерганья RST ножки SPI интерфейса для инициализации Nokyo 3310 LCD И на плате stm32-h103 от от olimex это работает - дисплей отображает то что я ему говорю Сейчас хочу перенести код на китайскую плату с китайским же дисплеем И сталкнулся с зависаниями процессора при инициализации.... Хотя плату от олимекса хотел завести с тактовой частотой в 24 Мгц - проц вис в момент Код
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); UPD: .HCLK_Frequency показывает те же 648000000, что тоже странно - не пойму откуда он их берет
0
|
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
14.08.2014, 16:39 | 26 |
Сообщение от korosyo
Так что насчёт .HCLK_Frequency ?
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
14.08.2014, 19:17 | 27 |
Нет, не долго - попробую поменять )
.HCLK_Frequency показывает те же 648000000, что тоже странно - не пойму откуда он их берет
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
14.08.2014, 19:23 | 28 |
А если поставить
Код
#define SYSCLK_FREQ_24MHz 24000000 Код
#define SYSCLK_FREQ_72MHz 72000000
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
15.08.2014, 02:19 | 29 |
По совету пользователя sitimur в теме выше, вывел на PA8 MCO, результаты тоже странные получились....
При выводе на МСО сигнала RCC_MCO_SYSCLK получаю частоту 8МГц с вот такими разрывами При выводе HSE получаю те же 8МГц и тоже с разрывами Ну и на последок RCC_MCO_PLLCLK_Div2 Теперь я совсем запутался, на какой частоте сейчас работает проц? оО
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
15.08.2014, 14:24 | 30 |
Не понятно что за разрывы...разве кварц не должен выдавать постоянную частоту?
0
|
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 222
|
|
15.08.2014, 14:31 | 31 |
Сообщение от korosyo
Варианты проб: Подключи щупы к выключенному контроллеру запусти запись включи питание контроллера ....
0
|
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
15.08.2014, 14:34 | 32 |
Частоту сэмплирования в выпадающем списке вверху слева поставьте побольше!!
У Вас там сейчас 16 MHz, как Вы ими тактовую мерить собрались... Если анализатор не хочет работать на большей. то надо взть хороший USB кабель и желательно подключать в ЮСБ-порты, которые впаяны прямо в материнку.
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
15.08.2014, 15:05 | 33 |
У меня ноутбук, так что все порты впаяны в материнку. Больше 16МГц ставить не дает. Попробую на работе на стационаре в понедельник.
А почему HCLK_Frequency может показывать 648000000 при выставленных 72000000?
0
|
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
15.08.2014, 15:46 | 34 |
Не знаю почему. Сейчас нет времени копаться в этом и смотреть почему так может быть.
По поводу частоты, если обьяснять максимально просто: у вас уровень на линии меняется с частотой, к примеру, 48 милиионов раз в секунду (при тактовой частоте в 24 МГц), а анализатор опрашивает линию 16 миллионов раз в секунду. В итоге анализатор не может восстановить частоту исходного сигнала просто потому, что между двумя соседними измерениями уровень на линии успевает поменяться несколько раз.
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
15.08.2014, 23:00 | 35 |
Разобрался.
Эклипс при создании проекта ставит частоту внешнего кварца 32Мгц Если ему сказать что мы имеем кварц на 8МГц то все становится ОК. Осталось понять где в конфиге он запрятал эту цифру что бы не пересоздавать проект
0
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
|
|
16.08.2014, 00:56 | 36 |
Сообщение от korosyo
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
16.08.2014, 02:18 | 37 |
Использую GNU ARM Eclipce Plugin
Самому-то ему фиолетово, но при создании проекта он пихает флаг к сборке -DHSE_VOTUE Пока используется HSI все ок, а когда на плате появляется HSE то нужно что бы этот параметр был равен частоте используемого кварца в Гц
0
|
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 25
|
|
16.08.2014, 03:49 | 38 |
Только сейчас обратил внимание, что вы написали L1...
Вы в какой ОС работаете? Никак не могу найти ld файл для L1 для GCC...
0
|
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 50
|
|
21.08.2014, 12:46 | 39 |
Сообщение от korosyo
0
|
21.08.2014, 12:46 | |
21.08.2014, 12:46 | |
Помогаю со студенческими работами здесь
39
как посчитать количество импульсов в saleae? Modbus RTU на STM32F10x таймер и PWM на STM32F10x Наличие DAC в STM32F10X. Saleae есть ли версия софта со сканированием в реальном в.? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |