|
@@ -13,10 +13,6 @@
|
|
#include "configuration.h"
|
|
#include "configuration.h"
|
|
#include "max7219.h"
|
|
#include "max7219.h"
|
|
|
|
|
|
-// защёлка
|
|
|
|
-#define MAX7219_LOAD1 PinSet(PIN_LOAD)
|
|
|
|
-#define MAX7219_LOAD0 PinRes(PIN_LOAD)
|
|
|
|
-
|
|
|
|
#define MAX7219_ON 0x01
|
|
#define MAX7219_ON 0x01
|
|
#define MAX7219_OFF 0x00
|
|
#define MAX7219_OFF 0x00
|
|
#define MAX7219_BRIGHT 0x08
|
|
#define MAX7219_BRIGHT 0x08
|
|
@@ -46,7 +42,9 @@ static void spi_SendByte (uint8_t DataByte) {
|
|
|
|
|
|
void MAX7219_writeData(uint8_t reg, uint8_t data)
|
|
void MAX7219_writeData(uint8_t reg, uint8_t data)
|
|
{
|
|
{
|
|
- MAX7219_LOAD0; // опустили защёлку
|
|
|
|
|
|
+// PinRes(PIN_LOAD); // опустили защёлку
|
|
|
|
+ digitalWrite(PIN_LOAD, LOW);
|
|
|
|
+
|
|
// spi_SendByte(reg);
|
|
// spi_SendByte(reg);
|
|
// spi_SendByte(data);
|
|
// spi_SendByte(data);
|
|
|
|
|
|
@@ -54,17 +52,23 @@ void MAX7219_writeData(uint8_t reg, uint8_t data)
|
|
uint8_t i; // счетчик бит
|
|
uint8_t i; // счетчик бит
|
|
uint16_t sdata = (reg<<8) || data;
|
|
uint16_t sdata = (reg<<8) || data;
|
|
for (i=16; i!=0; i--) {
|
|
for (i=16; i!=0; i--) {
|
|
- PinRes(PIN_CLK); // выдали строб
|
|
|
|
|
|
+// PinRes(PIN_CLK); // выдали строб
|
|
|
|
+ digitalWrite(PIN_CLK, LOW);
|
|
if (bit_is_set(sdata,15)) { // если старший бит == 1
|
|
if (bit_is_set(sdata,15)) { // если старший бит == 1
|
|
- PinSet(PIN_DIN); // MOSI = 1
|
|
|
|
|
|
+// PinSet(PIN_DIN); // MOSI = 1
|
|
|
|
+ digitalWrite(PIN_DIN, HIGH);
|
|
} else { // если старший бит == 0
|
|
} else { // если старший бит == 0
|
|
- PinRes(PIN_DIN); // MOSI = 0
|
|
|
|
|
|
+// PinRes(PIN_DIN); // MOSI = 0
|
|
|
|
+ digitalWrite(PIN_DIN, LOW);
|
|
}
|
|
}
|
|
- PinSet(PIN_CLK); // защёлкнули строб
|
|
|
|
|
|
+// PinSet(PIN_CLK); // защёлкнули строб
|
|
|
|
+ digitalWrite(PIN_CLK, HIGH);
|
|
|
|
+
|
|
sdata <<= 1; // сдвиг влево на 1 бит
|
|
sdata <<= 1; // сдвиг влево на 1 бит
|
|
}
|
|
}
|
|
|
|
|
|
- MAX7219_LOAD1; // подняли защёлку
|
|
|
|
|
|
+// PinSet(PIN_LOAD); // подняли защёлку
|
|
|
|
+ digitalWrite(PIN_LOAD, HIGH);
|
|
}
|
|
}
|
|
|
|
|
|
void MAX7219_Init(void) {
|
|
void MAX7219_Init(void) {
|
|
@@ -72,9 +76,12 @@ void MAX7219_Init(void) {
|
|
pinMode(PIN_LOAD, OUTPUT);
|
|
pinMode(PIN_LOAD, OUTPUT);
|
|
pinMode(PIN_DIN, OUTPUT);
|
|
pinMode(PIN_DIN, OUTPUT);
|
|
pinMode(PIN_CLK, OUTPUT);
|
|
pinMode(PIN_CLK, OUTPUT);
|
|
- PinSet(PIN_LOAD);
|
|
|
|
- PinSet(PIN_DIN);
|
|
|
|
- PinSet(PIN_CLK);
|
|
|
|
|
|
+// PinSet(PIN_LOAD);
|
|
|
|
+// PinSet(PIN_DIN);
|
|
|
|
+// PinSet(PIN_CLK);
|
|
|
|
+ digitalWrite(PIN_LOAD, HIGH);
|
|
|
|
+ digitalWrite(PIN_DIN, HIGH);
|
|
|
|
+ digitalWrite(PIN_CLK, HIGH);
|
|
|
|
|
|
// Настройка MAX71219
|
|
// Настройка MAX71219
|
|
MAX7219_writeData(MAX7219_MODE_DECODE, 0x7B); // без BCD декодирования 2 и 7
|
|
MAX7219_writeData(MAX7219_MODE_DECODE, 0x7B); // без BCD декодирования 2 и 7
|