реклама на сайте
подробности

 
 
> ATMega128: в 3х соснах заблудился, программа в 5 строчек крашится
A. Fig Lee
сообщение May 27 2014, 12:29
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Вопчем работал мой Атмел, а через 2 месяца, когда достал с полки - перестал.
Выбросил все практически, пустая программа, крашится если записал что нибудь в UCSR1C.
Опять на начало скачет.
Чувствую, хочет какойто интеррапт, которого нет? Почему раньше не хотело?
В талмуде по Атмеге128 нет толкового описания UCSRC, какято художественная литература.
У майкрочипа все четко расписано.

Вот код (если закомментировать запись в UCSR1C, доходит до лупа и крутится):

CODE
/*
* Crashtest.c
*
* Created: 5/27/2014 12:23:37 PM
* Author: Administrator
*/


#include <avr/io.h>
#include <avr/interrupt.h>
#include <string.h>

#define __enable_interrupt sei
#define __disable_interrupt cli


void Init()
{


}

void test()
{
UCSR1C = 0;

}

volatile uint32_t s;

int main(void)
{
Init();
__enable_interrupt();
test();

while(1)
{
s++;
}
}


Сообщение отредактировал IgorKossak - May 27 2014, 15:05


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex A. Mihaylov
сообщение May 27 2014, 14:17
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 15-11-10
Из: Санкт-Петербург
Пользователь №: 60 892



Цитата(A. Fig Lee @ May 27 2014, 20:39) *
В талмуде по Атмеге128 нет толкового описания UCSRC, какято художественная литература.
У майкрочипа все четко расписано.


Каждый видит ровно то, что хочет увидеть.

http://www.atmel.com/Images/doc2467.pdf Страница 190 - USART Control and Status Register C – UCSRnC.

Подробнее некуда. И суда по всему дело не в этом регистре. Смотрите схему. Меняйте чип. По сбросу там должно быть 0x06 - попробуйте записать это значение (асинхронно, без четности, 8 бит, 1 стоп. Полярность не важна ибо не используется).

И прекратите ругать Atmel - их документация лучшая.
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение May 27 2014, 15:13
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(Alex A. Mihaylov @ May 27 2014, 14:27) *
Каждый видит ровно то, что хочет увидеть.

http://www.atmel.com/Images/doc2467.pdf Страница 190 - USART Control and Status Register C – UCSRnC.

Подробнее некуда. И суда по всему дело не в этом регистре. Смотрите схему. Меняйте чип. По сбросу там должно быть 0x06 - попробуйте записать это значение (асинхронно, без четности, 8 бит, 1 стоп. Полярность не важна ибо не используется).

И прекратите ругать Atmel - их документация лучшая.

Да, спасибо, уже нашел.
Независимо от того, что писать, хоть 6, хоть 0, все равно крашится. Но почемуто именно в этот регистр.
Похоже на стэк..

Да, чудеса..
Инструкция
STS 0x009D, R1
меняет содержимое stack pointer с 0х10F2 на 0x1000.. wacko.gif


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 27 2014, 15:51
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



А вы ему случаем совместимость с мегой-103 не включили фузами?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение May 27 2014, 16:29
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(Сергей Борщ @ May 27 2014, 16:01) *
А вы ему случаем совместимость с мегой-103 не включили фузами?

Было такое подозрение. Галочка не стоит, extended byte показывает 0xFF.
На всякий случай поставил галочку, проверил, снял галочку, проверил.

В обоих случаях одинаково себя ведет. Хедер платка от Олимекс с Atmega128.
Еще попробую через ISP прочитать. Сейчас JTAG пользую


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01438 секунд с 7
ELECTRONIX ©2004-2016