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

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Кто работал с памятью at45db161d или в принципе с at45dbxxxd, пожалуйста подскажите, Проблемы с at45db161d и их решение
lomtev
сообщение Sep 27 2007, 20:33
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 22-08-07
Пользователь №: 29 980



Я бобер хитрый и вывел значение которое должно отображать количество сотен. Значение равно 11, такого символа в таблице нет и по этому выводит мусор. Надо определить почему вылазит эта единица, потому как верное значение должно быть 10 при числах меньших 100. Если число больше или равно сотни происходит обнуление 10 и в последствии при пересчете в нее записывается единица. В моем случаем в фукцию засылается сначало ноль, потом единица, два, три, четыре - нигде сотни нет, нет даже числа больше десяти. Надо понять откуда она берется эта сотня.

Я нашел ошибку. Смотрим внимательно на цикл Если число отправляется меньше десяти что происходит: eds=1, это как раз то что мы записали в память

Сам цикл

unsigned char mas_eds[4]={10,10,10,10};

if(eds>=100) mas_eds[0]=0; //Сотни
if(eds>=10) mas_eds[1]=0; //Десятки
if(eds!=0) mas_eds[2]=0; // Единицы
if(eds==0) mas_eds[2]=0;

for(i=0; i<eds; i++) // ноль меньше единицы выполним один раз
{
mas_eds[2]++; // записали в единицы значение один
if(mas_eds[2]==10){mas_eds[2]=0; mas_eds[1]++;} //Значение единиц равно единице, не десять... пропускаем
if(mas_eds[1]==10){mas_eds[1]=0; mas_eds[0]++;} //И вот эврика!!! - Значение десятков равно то десяти, мы же десятки не обнулили и мы получем... десятки ноль, сотни равны одиннадцати. На выходе имеем
*01_*02
* - мусор, это одиннадцать сотен
0 - это обнуленные десятки
_ - это пробел, его не видно

Я дурак и гений в одном флаконе. =) Константы я ведь писал все не меньше десяти =)
}


Сделал изменения:

if(mas_eds[1]==10){mas_eds[1]=0; mas_eds[0]++;}
заменил на:
if(mas_eds[1]==10 && eds>=10){mas_eds[1]=0; mas_eds[0]++;}
И все зарабатало великолепно
НУ что друзья. До следующего гемороя. Всем респект. Еще спишемся

Сообщение отредактировал lomtev - Sep 27 2007, 20:47
Go to the top of the page
 
+Quote Post
Ivaxa
сообщение Jan 23 2008, 13:13
Сообщение #47





Группа: Новичок
Сообщений: 6
Регистрация: 10-04-07
Пользователь №: 26 914



Решил и про свою проблему написать. При замене AT45DB161B на - 161D возникла проблема:
стала искажаться информация на линии SO (161D; Vcc=3.3V) - MISO (Mega128; Vcc=5V). Решилась впаиванием резистора
на 180 Ом в эту линию.
Go to the top of the page
 
+Quote Post
uriy
сообщение Jan 23 2008, 19:15
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



А какую частоту CLK используете? У меня при частотах более 10 МГц тоже проблемы. Длина дорожек не превышает 3 сантиметров. 161D + ADSP-BF533
Go to the top of the page
 
+Quote Post
Roger
сообщение Dec 11 2009, 13:47
Сообщение #49


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 27-06-06
Пользователь №: 18 383



Помогите решить проблемы, курсач нужно было сдать "вчера".

проблема прочитать статус регистр(да и вообще что то прочитать) с at45db161d
В аттаче привожу схему и исходник(для отладки) по которой подключить ATmega8L<->SPI<->at45db
В данный момен такая схема собрана, единственно что для отладки подрубил по uart к компу, чтобы видеть что читается.
в Test.c написан цикл который отсылает по адресс регистра 0x57(пробывал и 0xD7)
В результате в терминали приходит строчка SR=00; и только.

Сообщение отредактировал Roger - Dec 11 2009, 13:48
Прикрепленные файлы
Прикрепленный файл  at45_Uart_Debug.zip ( 31.88 килобайт ) Кол-во скачиваний: 60
 
Go to the top of the page
 
+Quote Post
GDI
сообщение Dec 14 2009, 11:50
Сообщение #50


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Программатор пробовали от схемы отключать?


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Roger
сообщение Dec 15 2009, 19:11
Сообщение #51


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 27-06-06
Пользователь №: 18 383



Цитата(GDI @ Dec 14 2009, 14:50) *
Программатор пробовали от схемы отключать?

Проблема была в другом, в монтаже!
Go to the top of the page
 
+Quote Post

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

 


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


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