#include <avr/interrupt.h> вижу
sei(); не нашел.
Сам недавно сталкнулся с SPI режим Master
с прерываниями отказывался работать, убрал прерывания заработало, но есть одно НО после передачи n-быйт МК виснет, т.е. есть функция передачи 20 символов (1-й строки) на дисплей, 4 строки передается на 5 ...
Найдено 5 результатов
- Пт окт 31, 2014 17:22:55
- Форум: AVR
- Тема: Atmega8515 + Spi
- Ответы: 11
- Просмотры: 2745
- Пт окт 31, 2014 11:27:32
- Форум: AVR
- Тема: Atmega8515 + Spi
- Ответы: 11
- Просмотры: 2745
Re: Atmega8515 + Spi
Если вдруг кому-либо будет не лень читать, вот мой, уже до неприличия упрощенный, код:
#define F_CPU 8000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
// USART
//////////////////////////////////////////////////////////
void USART_Init( unsigned int baud ){
UBRRH ...
#define F_CPU 8000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
// USART
//////////////////////////////////////////////////////////
void USART_Init( unsigned int baud ){
UBRRH ...
- Пт окт 31, 2014 10:08:10
- Форум: AVR
- Тема: Atmega8515 + Spi
- Ответы: 11
- Просмотры: 2745
Re: Atmega8515 + Spi
Друзья, с учетом Ваших замечаний написана функция записи:
Что бы было понятно где затуп происходит добавил везде вывод номера выполненной команды.
Виснет на строке после "WR - 4".
Надеюсь на Вашу помощь...
void W5100_Write(uint16_t addr,uint8_t data){
// Activate the CS pin
SPI_PORTX &= ~(1 ...
Что бы было понятно где затуп происходит добавил везде вывод номера выполненной команды.
Виснет на строке после "WR - 4".
Надеюсь на Вашу помощь...
void W5100_Write(uint16_t addr,uint8_t data){
// Activate the CS pin
SPI_PORTX &= ~(1 ...
- Пт окт 31, 2014 00:28:13
- Форум: AVR
- Тема: Atmega8515 + Spi
- Ответы: 11
- Просмотры: 2745
Re: Atmega8515 + Spi
Протеусовский SPI Debugger говорит что я что-то не так делаю (см картинку DORD1.jpg) (При этом DORD = 1)
При DORD=0 картинка DORD2.jpg
void SPI_Init(void){
DDRB |= (1<<SPI_MOSI)|(1<<SPI_SCK)|(1<<SPI_SS)|(0<<SPI_MISO);
PORTB |= (1<<SPI_MOSI)|(1<<SPI_SCK)|(1<<SPI_SS)|(1<<SPI_MISO);
SPCR ...
При DORD=0 картинка DORD2.jpg
void SPI_Init(void){
DDRB |= (1<<SPI_MOSI)|(1<<SPI_SCK)|(1<<SPI_SS)|(0<<SPI_MISO);
PORTB |= (1<<SPI_MOSI)|(1<<SPI_SCK)|(1<<SPI_SS)|(1<<SPI_MISO);
SPCR ...
- Чт окт 30, 2014 17:00:40
- Форум: AVR
- Тема: Atmega8515 + Spi
- Ответы: 11
- Просмотры: 2745
Atmega8515 + Spi
Доброго времени суток, друзья.
Всю голову себе сломал об следующую проблему.
Прикручиваю atmega8515 через SPI к W5100. Столкнулся с проблемами в самом начале - в процессе обучения микроконтроллера инициализировать SPI и передать байт.
Делаю инициализацию так:
void SPI_Init(void)
{
DDRB |= (1 ...
Всю голову себе сломал об следующую проблему.
Прикручиваю atmega8515 через SPI к W5100. Столкнулся с проблемами в самом начале - в процессе обучения микроконтроллера инициализировать SPI и передать байт.
Делаю инициализацию так:
void SPI_Init(void)
{
DDRB |= (1 ...