Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.150.163] |
|
Страницы: (5) « Первая ... 2 3 [4] 5 все ( Перейти к последнему сообщению ) |
Сообщ.
#46
,
|
|
|
Вы правы, не знаю, пример из ДШ. Вот и обратился к Вам за советом Что в вашем понимании "отладить прогу"?
|
Сообщ.
#47
,
|
|
|
Цитата Дмитрий @ Что в вашем понимании "отладить прогу"? Наверное то же, что и у других - например, убедиться, что программа выполняет именно то, что должна выполнять по замыслу автора и именно так, как хочет автор, а не так, как получилось. В твоем случае - это прогнать программу в отладчике и убедиться, к примеру, что необходимый байт команды загружается в регистр передатчика USART, передатчик при этом включен, у контроллера выставлены необходимые настроечные регистры (стоп бит/восьми битовая передача/нужная скорость) настройки каанла USART. После этого откомпилироать программу передачи, залить в контроллер и посмотреть осциллографом, что "пляшет" на порту TX контроллера при попытке передачи байта. Весьма хорошо наблюдать меандры при передаче байта 55Н - так очень четко видно как нули сменяют единицы. И только после этого начинать вторую часть проекта, т.е. прием от контроллера чего то, в ответ на посланный байт команды. |
Сообщ.
#48
,
|
|
|
Цитата Что в вашем понимании "отладить прогу"? В моём - взять и отладить. Насколько хорошо симулятор студии умеет обращаться с USART - вопрос открытый, но в принципе, как без предварительной(и последующей, в процессе работы) отладки можно написать работающую прошивку, не очень представляю. Вообще, как выглядел процесс написания вами программы: вы взяли кусочек кода из ДШ, скопипастили, компилятор не выдал ошибок(или выдал, и вы как-то их исправили), то, что получилось, залили в память МК? Ещё один интересный вопрос - подключение последовательного порта МК ... к чему-то. К компу? Как? |
Сообщ.
#49
,
|
|
|
Цитата Prince @ Вообще, как выглядел процесс написания вами программы: вы взяли кусочек кода из ДШ, скопипастили, компилятор не выдал ошибок(или выдал, и вы как-то их исправили), то, что получилось, залили в память МК? Ещё один интересный вопрос - подключение последовательного порта МК ... к чему-то. К компу? Как? Да Вы правы... Прошу не судите строго Просто с МК я пытаюсь работать только месяц и это для меня ново.... А что значит отладит? Пройти в режиме debug? И что это даст? Можно ли отладить эту прогу на действующем МК? А подключение показано на снимке: программатор AVR ISP можно использовать как преобразователь USB - USART. Прикреплённая картинка
|
Сообщ.
#50
,
|
|
|
Цитата А что значит отладит? Пройти в режиме debug? И что это даст? Вы сишный код под Windows дебажили? Что это вам давало? Медвед достаточно подробно ответил на ваш вопрос по поводу отладчика, и вы тут же задаёте его снова. Цитата Можно ли отладить эту прогу на действующем МК? Если программатор и МК поддерживают JTAG/PDI. На atmega8 нельзя. Цитата А подключение показано на снимке: программатор AVR ISP можно использовать как преобразователь USB - USART. Убедитесь в том, что преобразователь работает с TTЛ уровнями и нужной вам полярностью сигналов. |
Сообщ.
#51
,
|
|
|
Цитата Дмитрий @ А подключение показано на снимке Да, там просто масса информации! Дмитрий, вы можите похвастаться хоть одной работающей в МК программой? |
Сообщ.
#52
,
|
|
|
Цитата Alexei @ Дмитрий, вы можите похвастаться хоть одной работающей в МК программой? Alexei, да ладно тебе... Мы все с чего то начинали и как то учились... Дмитрий, поставь студию и прогони свой код в ней в режиме симулятора. В данном режиме нет необходимости в реальном подключении МК, достаточно выбрать тип контроллера и тактовую частоту. |
Сообщ.
#53
,
|
|
|
Цитата medved_68 @ Alexei, да ладно тебе... Мы все с чего то начинали и как то учились Так, наверно,если таким же образом, то до сих пор задавали бы здесь теже вопросы.Мы начинали с чего по проще. Есть ли уверенность в том, что все простейшие действия выполняются? Что эта штука действительно USB - USART. Что она правильно подключена, ее драйвер правильно установился... Слишком много неизвестных! Начать был бы смысл с проверки ее самой на себя итд. . |
Сообщ.
#54
,
|
|
|
Цитата medved_68 @ Дмитрий, поставь студию и прогони свой код в ней в режиме симулятора. В данном режиме нет необходимости в реальном подключении МК, достаточно выбрать тип контроллера и тактовую частоту. Конечно, я так и сделал: зациклил выдачу шахматки и прогнал в отладчике. Вот только не понятно: на 4-й итерации бит UDRE регистра UCSRA обнулился... После прошивки проги на ноге TX я вижу миандр на осцилографе. Проблема - считать эти данные: операция считывания с СОМ вылетела по таймауту Цитата Prince @ Поясните, пожалуйста, как я могу это сделать? Убедитесь в том, что преобразователь работает с TTЛ уровнями и нужной вам полярностью сигналов. |
Сообщ.
#55
,
|
|
|
Цитата Дмитрий @ операция считывания с СОМ вылетела по таймауту Чем пытаешься считать? |
Сообщ.
#56
,
|
|
|
Цитата medved_68 @ Средствами .net: port.ReadByte() Чем пытаешься считать? |
Сообщ.
#57
,
|
|
|
Цитата Дмитрий @ Средствами .net: port.ReadByte() Т.е. ты наблюдаешь активность на передатчике контроллера, но до компа сия активность "не доходит", так? Вариантов несколько: 1. Уровни ТТL (как говорил Prince). У преобразователя стандарт RS-232, у контроллера ТТL (а то и 2.6В, если питание 3В и ниже). Необходима микросхема преобразователь МАХ 232. 2. Неправильная настройка передающе-приемного канала (несовпадение скоростей/количества стоп битов/четности и.т.д. В контроллере смотри значения регистров управления USART, в net режимы открытия СОМ порта. Должно все совпадать. 3. Нерабочий переходник USB-COM. Проверка - замкнуть накоротко вывод RX с TX и средствами net открыть порт на чтение и передачу. Пробовать передавать байт, прием должен сработать. Если этого нет - смотри пристально на преобразователь. |
Сообщ.
#58
,
|
|
|
Цитата medved_68 @ Т.е. ты наблюдаешь активность на передатчике контроллера, но до компа сия активность "не доходит", так? Да именно Скажите, а может такое быть, что я просто в цикле без задержки гоню эту шахматку и сто и старт биты накладываються? |
Сообщ.
#59
,
|
|
|
Цитата Дмитрий @ Скажите, а может такое быть, что я просто в цикле без задержки гоню эту шахматку и сто и старт биты накладываються? Нет, так быть не может. Вот это: Цитата Дмитрий @ Вот только не понятно: на 4-й итерации бит UDRE регистра UCSRA обнулился... говорит о том, что ты совершенно не проверяешь бит окончания передачи, а пихаешь данные в передатчик, совершенно наплевав на то, передал он или нет данные, справляется ли он или как. Так нельзя. |
Сообщ.
#60
,
|
|
|
Цитата medved_68 @ Та нет! Я его как раз и проверяю!...говорит о том, что ты совершенно не проверяешь бит окончания передачи, а пихаешь данные в передатчик, совершенно наплевав на то, передал он или нет данные, справляется ли он или как. Так нельзя. ... while( !( UCSRA & (1<<UDRE)) ) ; UDR = 0x55; ... А вот когда ставлю задержку 5 мс, то эта проблема появляется... И переходник USB-COM работает - что послал, то принял... Подскажите какую-нибудь стандартную прогу для обмена с СОМ. |