23:59
Остановись, мгновение!
Мгновение не всегда бывает прекрасно, но выяснить, каково же оно, бывает необходимо.
Есть микроконтроллер, на котором крутится прошивка. В прошивке происходит событие X, вызывающее срабатывание точки останова в интерактивном отладчике. Как посмотреть на осциллографе, какие данные бегали по линиям непосредственно перед событием?
Для начала, в осциллографе есть режим Single Sequence ("однократная последовательность"), который отображает сигналы в окрестности от момента срабатывания "триггера". А триггер -- это условие, которое проверяется перед тем, как начать запись сигналов. Обычно условие имеет вид "напряжение по каналу 3 должно упасть ниже 2,5 вольт" -- или что-то подобное. Это всё настраивается при помощи вращения ручек и нажатия кнопок.
Хорошо, если событие X, за которым мы охотимся, сопряжено с изменением состояния какой-нибудь заранее известной линии. Типа та падает из единички в нолик. Тогда к ней можно подключиться и использовать как триггер. Но если такой линии нет?
То её надо создать. Тут нам и пригодится тот самый светодиод, который мы запаяли три поста назад. В строчке перед точкой останова пишем, что светодиод надо включить/выключить. И подключаем канал осциллографа к его ножке. Вуаля.
Есть микроконтроллер, на котором крутится прошивка. В прошивке происходит событие X, вызывающее срабатывание точки останова в интерактивном отладчике. Как посмотреть на осциллографе, какие данные бегали по линиям непосредственно перед событием?
Для начала, в осциллографе есть режим Single Sequence ("однократная последовательность"), который отображает сигналы в окрестности от момента срабатывания "триггера". А триггер -- это условие, которое проверяется перед тем, как начать запись сигналов. Обычно условие имеет вид "напряжение по каналу 3 должно упасть ниже 2,5 вольт" -- или что-то подобное. Это всё настраивается при помощи вращения ручек и нажатия кнопок.
Хорошо, если событие X, за которым мы охотимся, сопряжено с изменением состояния какой-нибудь заранее известной линии. Типа та падает из единички в нолик. Тогда к ней можно подключиться и использовать как триггер. Но если такой линии нет?
То её надо создать. Тут нам и пригодится тот самый светодиод, который мы запаяли три поста назад. В строчке перед точкой останова пишем, что светодиод надо включить/выключить. И подключаем канал осциллографа к его ножке. Вуаля.