| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
ATMega128 + AT25F4096
11.04.2011, 12:48
|
|
|
Частый гость
Регистрация: 13.04.2010
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
ATMega128 + AT25F4096
Добрый день.Пытаюсь записать байт данных в память AT25F4096.Использую CodeVisionAVR+proteus. Вот код:
|
Код:
|
#include ‹mega128.h›
#define DDR_SPI DDRB
#define DD_MOSI 2
#define DD_MISO 3
#define DD_SCK 1
#define DD_CS 0
#define DF_CHIP_SELECT 0x01
unsigned int addr=0;
unsigned char temp = 0xC0;
void main(void){
DDR_SPI = (1‹‹DD_MOSI)|(1‹‹DD_SCK)|(1‹‹DD_CS);
SPCR = (1‹‹SPE)|(1‹‹MSTR);
PORTB &= ~DF_CHIP_SELECT; //опускаем чип селект
SPDR = 0x06; //WREN
while (!(SPSR & temp));
PORTB |= DF_CHIP_SELECT; //поднимаем чип селект
PORTB &= ~DF_CHIP_SELECT;
SPDR = 0x02; //PROGRAM
while (!(SPSR & temp));
SPDR = addr››16; //толкаем 3 байта адреса
while (!(SPSR & temp));
SPDR = addr››8;
while (!(SPSR & temp));
SPDR = addr››0;
while (!(SPSR & temp));
SPDR = 0xAA; //один байт данных
while (!(SPSR & temp));
PORTB |= DF_CHIP_SELECT; //поднимаем чип селект
} |
Компилируется без ошибок. Proteus тоже не выдает ошибок, вот только смотрю в память флэши , а там ничего не меняется.
Помогите разобраться,пожалуйста!
|
|
|
|
11.04.2011, 13:43
|
|
|
Прописка
Регистрация: 25.08.2007
Сообщений: 193
Сказал спасибо: 11
Сказали Спасибо 57 раз(а) в 33 сообщении(ях)
|
Re: ATMega128 + AT25F4096
Сообщение от forastr
|
|
Помогите разобраться,пожалуйста!
|
Моё мнение такое. Для начала, хотя бы, стоит произвести пошаговую отладку в Proteus и попытаться самому найти ошибку. Если не получилось, написать, у меня вот этот байт туда-то пришёл, а вот здесь флаг не встал (например), не могу разобраться, помогите! К сожалению, по Вашим действиям это непонятно. А так можно просто любой отбалдовый код помещать и ждать когда другие в нем за Вас разберутся, а точнее напишут новый.
|
|
|
|
11.04.2011, 17:38
|
|
|
Частый гость
Регистрация: 13.04.2010
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ATMega128 + AT25F4096
Сообщение от oleg_harp
|
|
Моё мнение такое. Для начала, хотя бы, стоит произвести пошаговую отладку в Proteus и попытаться самому найти ошибку. Если не получилось, написать, у меня вот этот байт туда-то пришёл, а вот здесь флаг не встал (например), не могу разобраться, помогите! К сожалению, по Вашим действиям это непонятно. А так можно просто любой отбалдовый код помещать и ждать когда другие в нем за Вас разберутся, а точнее напишут новый.
|
Это я понимаю! У меня проблема в том,что даташит на английском(а с ним большие проблемы) и я до конца не могу понять принцип записи в эту память: когда и какие байты туда записывать ,чего ждать и чего не ждать(всмысле поднятия флагов).вот так....
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Универсальный Wiring модуль на ATmega128
|
DimmONN |
Микроконтроллеры, АЦП, память и т.д |
7 |
17.03.2018 04:06 |
|
ATMEGA128 и голос
|
isakz |
Микроконтроллеры, АЦП, память и т.д |
7 |
05.04.2011 09:48 |
|
Какой стек для Ethernet ATmega128 + ENC28J60 выбрать?
|
LionRJ |
Микроконтроллеры, АЦП, память и т.д |
11 |
17.03.2011 07:37 |
|
АЦП на Atmega128
|
Fan79 |
Микроконтроллеры, АЦП, память и т.д |
15 |
16.09.2010 20:40 |
|
Реализация modbus на atmega128
|
neizilber |
Микроконтроллеры, АЦП, память и т.д |
4 |
20.03.2010 23:40 |
Часовой пояс GMT +4, время: 15:26.
|
|