[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
После ПИКа немного не посебе когда пишешь для АВР.
НаписАл програмку которая при нажатии клавиш пишет в 24с01
4 байта, так вот я кнопки неуспел нажать а он уже погнал катать в 24с01 с каждой ноги по рез. 4к7 на землю.
Вот програмка:
ни вдт ни одного прерывания, всё сбросил.
#include "my2313.h"
#include "i2c.c"unsigned const char read_byte[4] = {'a','b','c','d'};
unsigned char count;
void keyb(void)
{
if(D1==1){
for(count=0;count<=3;count++){
Write_i2c(count,read_byte[count],0x00);
}
sv1 = 1; //зажигаем светодиод
} else sv1 = 0; //тушем светодиод
if(D2==1){
for(count=3;count<=0;count++){
Write_i2c(count,read_byte[count],0x00);
}
sv2 = 1; //зажигаем светодиод
} else sv2 = 0;//тушем светодиод
}
void main(void)
{
init_port();for(;;){
keyb();
}
}
;------my2313.h-----------
typedef union {
volatile unsigned char byte;
struct {
volatile unsigned char b0:1;
volatile unsigned char b1:1;
volatile unsigned char b2:1;
volatile unsigned char b3:1;
volatile unsigned char b4:1;
volatile unsigned char b5:1;
volatile unsigned char b6:1;
volatile unsigned char b7:1;
} b;
}PORT;
__io PORT PIND_ @ 0x10; /* Input Pins @ Port D */
__io PORT DDRD_ @ 0x11; /* Data Direction Register @ Port D */
__io PORT PORTD_ @ 0x12;
__io PORT PINB_ @ 0x16; /* Input Pins @ Port B */
__io PORT DDRB_ @ 0x17; /* Data Direction Register @ Port B */
__io PORT PORTB_ @ 0x18;
#define PORTB PORTB_.byte
#define PORTD PORTD_.byte
#define PIND PIND_.byte
#define DDRD DDRD_.byte
#define PINB PINB_.byte
#define DDRB DDRB_.byte;-----------------
E-mail: info@telesys.ru