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

 
 
> ATMega + AT25F4096
forastr
сообщение Apr 11 2011, 08:42
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 99
Регистрация: 28-03-11
Из: Минск
Пользователь №: 63 930



Добрый день.Пытаюсь записать байт данных в память 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 тоже не выдает ошибок, вот только смотрю в память флэши , а там ничего не меняется.
Помогите разобраться,пожалуйста!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- forastr   ATMega + AT25F4096   Apr 11 2011, 08:42


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

 


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


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