attiny13a и max7219
- Войдите на сайт для отправки комментариев
Пт, 03/03/2017 - 18:09
Здравствуйте ! У меня возникло проблем с работа attiny13a и max7219. Я прошиваю мк через arduino mega. Скетч работает отлично в ардуино мега, индикатор показаться нужних цифр. Но в аттинй13 показаться инную значения. В программе есть 3 функци R1, R2, R3. R1 отвечает 1-й разрядов, а R2 и R3 отвечает 2-3-й разряадов. Если я отправляю какой-то значение в одного из них, то индикатор показатья в порядке. Но если я буду вызывать всех функци одновременно, тогда работает не корректно. Пожалуйста помагите мне?
Лишний пробел в строке 13.
Вот моя скетч
#include
const int dataIn =0;
const int clock = 1;
const int load = 2;
int r1[2] = {3, 4};
int r2[2] = {8, 6};
int r3[2] = {2, 7};
//MMMMMMMMMMMMMMMMMMMMM
byte dig_R1[10][2]= {{99, 34},
{34, 0 },
{33, 35},
{35, 33},
{98, 1 },
{67, 33},
{67, 35},
{35, 0 },
{99, 35},
{99, 33}};
//MMMMMMMMMMMMMMMMMMMMMM
byte dig_R2[10][2]= {{82, 17},
{66, 0},
{96, 17},
{98, 16},
{114, 0},
{50, 16},
{50, 17},
{66, 0},
{114, 17},
{114, 16}};
//MMMMMMMMMMMMMMMMMMMMMM
byte dig_R3[2][2] = {{34, 0},
{19, 66}};
//MMMMMMMMMMMMMMMMMMMMMM
const byte maxInUse = 10;
const byte max7219_reg_noop = 0x00;
const byte max7219_reg_decodeMode = 0x09;
const byte max7219_reg_intensity = 0x0c;
const byte max7219_reg_scanLimit = 0x00;
const byte max7219_reg_shutdown = 0x0c;
const byte max7219_reg_displayTest = 0x0f;
const int lim = 99;
const int lim2 = 9;
void setup ()
{
// Serial.begin(9600);
pinMode(dataIn, OUTPUT);
pinMode(clock, OUTPUT);
pinMode(load, OUTPUT);
//////////////////////////////////
maxAll(0x0b, 0x07);
maxAll(0x09, 0x00);
maxAll(0x0c, 0x01);
maxAll(0x0f, 0x00);
for (byte e=1; e<=8; e++)
{
maxAll(e,0);
}
maxAll(0x0a, 0x0f & 0x0f);
// maxAll(3, 99);
raqam(7);
//raqam2(&e);
}
void loop (){
}
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
void putByte(byte data) {
byte z = 8;
byte mask;
while(z > 0) {
mask = 0x01 << (z - 1);
digitalWrite( clock, LOW);
if (data & mask){
digitalWrite(dataIn, HIGH);
}else{
digitalWrite(dataIn, LOW);
}
digitalWrite(clock, HIGH);
--z;
}
}
void maxAll (byte reg, byte col) {
int c = 0;
digitalWrite(load, LOW); // begin
for ( c =1; c<= 2; c++) {
putByte(reg); // specify register
putByte(col);//((data & 0x01) * 256) + data >> 1);
}
digitalWrite(load, LOW);
digitalWrite(load,HIGH);
}
//WWWWWWWWWWWWWWWWWWWW
void R1(int birlik)
{
for(int mc = 0; mc < 2; mc++)
{
maxAll(r1[mc], dig_R1[birlik][mc]);
}
}
//WWWWWWWWWWWWWWWWWWWW
void R2(int nlik)
{
for(int ms = 0; ms < 2; ms++)
{
maxAll(r2[ms], dig_R2[nlik][ms]);
}
if(nlik != 1 && nlik != 4)
{
maxAll(5, 64);
}
}
//WWWWWWWWWWWWWWWWWWWW
void R3(int yuzlik)
{
for(int ma = 0; ma < 2; ma++)
{
maxAll(r3[ma], dig_R3[(yuzlik - 1)][ma]);
}
}
//WWWWWWWWWWWWWWWWWWWW
я же говорю
Лишний пробел в строке 13.
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Нет лишний бробел в строке 13
нет строки №13
Есть строки №13. но там нет лишний пробел. Я уже стирал их
моя не видит строку с номером 13.
см. библиотеку LedControl.