|
|
  |
mega16+кварц 8.533Мгц, схема не работает |
|
|
|
Apr 25 2009, 07:16
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-11-08
Пользователь №: 41 553

|
Простая отладочная схема: мега16, кварц 8.533Мгц, com-порт, max-232, и порт С весь в светодиодах. Суть в том, что прога вшита в МК и не работает. Даже элементарно неполучается помигать диодами. Я думал что проблема во фьюзах, вот и спрашиваю. С уартом буду разбираться позже, а его настройки вывел для проверкм правильности UBRR. То есть контроллер исправен, но не подает признаков жизни, почему?
Сообщение отредактировал FxMODE - Apr 25 2009, 07:21
|
|
|
|
|
Apr 25 2009, 08:33
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(FxMODE @ Apr 25 2009, 11:16)  Простая отладочная схема: мега16, кварц 8.533Мгц, com-порт, max-232, и порт С весь в светодиодах. Суть в том, что прога вшита в МК и не работает. Даже элементарно неполучается помигать диодами. Я думал что проблема во фьюзах, вот и спрашиваю. С уартом буду разбираться позже, а его настройки вывел для проверкм правильности UBRR. То есть контроллер исправен, но не подает признаков жизни, почему? В DDRC 0xff в PORTC то что хотите увидеть на светодиодной линейке. Ну и убедитесь, что кристалл вообще дышит, запустился ли кварц (осциллом ткнитесь), откликается ли кристалл на пограмматор? Покажите код наконец.
|
|
|
|
|
Apr 25 2009, 09:23
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-11-08
Пользователь №: 41 553

|
Кристалл дышит, осцилом ткнул - генерит нужную частоту. Из кода оставил только CODE void main(void) {
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=DPS; UBRRH=0x00; UBRRL=55;
// Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off // Analog Comparator Output: Off ACSR=0x80; SFIOR=0x00;
while (1) { PORTC=0xFF; DDRC=0xFF; } и то негарит. Диоды и вся схема вцелом исправна. Я уж даже незнаю кода проще
Причина редактирования: Уменьшение видимого размера цитаты исходника.
|
|
|
|
|
Apr 25 2009, 09:31
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(FxMODE @ Apr 25 2009, 13:23)  Кристалл дышит, осцилом ткнул - генерит нужную частоту. Из кода оставил только и то негарит. Диоды и вся схема вцелом исправна. Я уж даже незнаю кода проще  А не могли полярность диодов попутать? Может их по схеме 0 нужно зажигать? Сделайте PORTC ^= 0xff. Или уже на лапах МК тишина?
|
|
|
|
|
Apr 25 2009, 09:35
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-11-08
Пользователь №: 41 553

|
Дело в том, что когда я врубаю фьюз JTag = On, то там три диода всегда горят. Так что там все в порядке. Настройки кварца верны?
Сообщение отредактировал FxMODE - Apr 25 2009, 09:52
|
|
|
|
|
Apr 25 2009, 10:05
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(FxMODE @ Apr 25 2009, 13:35)  Дело в том, что когда я врубаю фьюз JTag = On, то там три диода всегда горят. Так что там все в порядке. Т.е. загораются те линии которые при работе с JTAG являются входными? А не светятся ли они от выходов JTAG, которые при этом в 0, или JTAG не подключен? Схемку бы глянуть.
|
|
|
|
|
Apr 25 2009, 10:39
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-11-08
Пользователь №: 41 553

|
Действительно, горят: PC2 - вход тактового сигнала, PC3 - вход выбора режима, и PC5 - вход данных. JTag устройство не подсоединено. Изменил код на: Код PORTC=0xFF; DDRC=0x00; однако все равно не горят. Но светятся только входы JTag, когда фьюз JTag=ON.
Сообщение отредактировал FxMODE - Apr 25 2009, 10:41
|
|
|
|
|
Apr 25 2009, 18:15
|
Частый гость
 
Группа: Участник
Сообщений: 88
Регистрация: 20-10-06
Из: Иваново
Пользователь №: 21 504

|
попробуйте вариант Код PORTC=0xCC; DDRC=0x0F; и скажите, на каких пинах светодиоды зажгуться при этом
Сообщение отредактировал EvgenWL - Apr 25 2009, 18:25
|
|
|
|
|
Apr 26 2009, 03:13
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-11-08
Пользователь №: 41 553

|
Тишина и трупы... вообще ничего. Ситуация вцелом: это не код, не фьюзы. Тогда это схема. меги 16 с кварцом KOYO 8.533MHz ладят?
|
|
|
|
|
May 2 2009, 13:27
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 18-05-08
Пользователь №: 37 607

|
Цитата(FxMODE @ Apr 26 2009, 06:13)  Тишина и трупы... вообще ничего. Ситуация вцелом: это не код, не фьюзы. Тогда это схема. меги 16 с кварцом KOYO 8.533MHz ладят? USART-то хоть работает? попробуйте что-нибудь передать. А чтоб определить кварц виновник или нет, включите внутренний rc генератор на время
Сообщение отредактировал Paulina - May 2 2009, 13:28
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|