Пн ноя 21, 2022 21:14:25
Вт ноя 22, 2022 07:13:34
Вт ноя 22, 2022 07:17:59
Вт ноя 22, 2022 07:32:39
x = y%10 + '0';
Вт ноя 22, 2022 09:04:59
x = y % 10 + '0';
Вт ноя 22, 2022 10:35:43
x = y % 10 + '0';
Вт ноя 22, 2022 11:03:08
x = y % 10 + 48;
Вт ноя 22, 2022 11:07:19
static char *_2str(uint32_t val, uint8_t minus){
static char strbuf[12];
char *bufptr = &strbuf[11];
*bufptr = 0;
if(!val){
*(--bufptr) = '0';
}else{
while(val){
*(--bufptr) = val % 10 + '0';
val /= 10;
}
}
if(minus) *(--bufptr) = '-';
return bufptr;
}
// return string with number `val`
char *u2str(uint32_t val){
return _2str(val, 0);
}
char *i2str(int32_t i){
uint8_t minus = 0;
uint32_t val;
if(i < 0){
minus = 1;
val = -i;
}else val = i;
return _2str(val, minus);
}
Вт ноя 22, 2022 11:26:24
x = y % 10 + 48;
Вт ноя 22, 2022 11:49:25
Вт ноя 22, 2022 12:00:53
Ср ноя 23, 2022 06:59:48
Пн мар 13, 2023 21:31:02
void Set_Digit(int Digit) // Функция вывода цифры
{
switch (Digit)
{
case 0:
PORTB |= (1<<Segment_A)|(1<<Segment_E)|(1<<Segment_F);
PORTD |= (1<<Segment_B)|(1<<Segment_C)|(1<<Segment_D);
break;
case 1:
PORTD |= (1<<Segment_B)|(1<<Segment_C);
break;
case 2:
PORTB |= (1<<Segment_A)|(1<<Segment_E)|(1<<Segment_G);
PORTD |= (1<<Segment_B)|(1<<Segment_D);
break;
case 3:
PORTB |= (1<<Segment_A)|(1<<Segment_G);
PORTD |= (1<<Segment_B)|(1<<Segment_C)|(1<<Segment_D);
break;
case 4:
PORTB |= (1<<Segment_B)|(1<<Segment_C);
PORTD |= (1<<Segment_F)|(1<<Segment_G);
break;
case 5:
PORTB |= (1<<Segment_A)|(1<<Segment_F)|(1<<Segment_G);
PORTD |= (1<<Segment_C)|(1<<Segment_D);
break;
case 6:
PORTB |= (1<<Segment_A)|(1<<Segment_E)|(1<<Segment_F)|(1<<Segment_G);
PORTD |= (1<<Segment_C)|(1<<Segment_D);
break;
case 7:
PORTB |= (1<<Segment_A);
PORTD |= (1<<Segment_B)|(1<<Segment_C);
break;
case 8:
PORTB |= (1<<Segment_A)|(1<<Segment_E)|(1<<Segment_F)|(1<<Segment_G);
PORTD |= (1<<Segment_B)|(1<<Segment_C)|(1<<Segment_D);
break;
case 9:
PORTB |= (1<<Segment_A)|(1<<Segment_F)|(1<<Segment_G);
PORTD |= (1<<Segment_B)|(1<<Segment_C)|(1<<Segment_D);
break;
default:
break;
}
}
Пн мар 13, 2023 21:44:40
Пн мар 13, 2023 21:57:49
Пн мар 13, 2023 22:07:38
Set_OFF_All_Razryad;
On_Digit = 0;
Set_Digit(On_Digit);
Set_ON_Razryad1;
OKF писал(а):А вообще, это делается не так. Обычно в хедере расписывается подключение индикатора и всё
Вт мар 14, 2023 07:43:04
#define COMMON_MAX 4
#define BLINK_TIME 500
#define COMMON1 C,5,H
#define COMMON2 C,1,H
#define COMMON3 C,2,H
#define COMMON4 D,5,H
#define _A C,4,L
#define _B C,3,L
#define _C D,7,L
#define _D B,1,L
#define _E B,2,L
#define _F C,0,L
#define _G D,6,L
#define _H B,0,L
#define MASK_A (1<<7)
#define MASK_B (1<<6)
#define MASK_C (1<<5)
#define MASK_D (1<<4)
#define MASK_E (1<<3)
#define MASK_F (1<<2)
#define MASK_G (1<<1)
#define MASK_H (1<<0)
#define INLINE static inline __attribute__((__always_inline__))
#define common_out() (out(COMMON1), out(COMMON2), out(COMMON3), out(COMMON4))
#define segment_out() (out(_A),out(_B),out(_C),out(_D),out(_E),out(_F),out(_G),out(_H))
#define common_off() (off(COMMON1), off(COMMON2), off(COMMON3), off(COMMON4))
#define segment_off() (off(_A),off(_B),off(_C),off(_D),off(_E),off(_F),off(_G),off(_H))
void ledInit();
void display(uint8_t dig1, uint8_t dig2, uint8_t dig3, uint8_t dig4);
void setBlink(uint8_t mask);
void display(int8_t dow, uint8_t day);
Ср мар 15, 2023 19:11:02
Ср мар 15, 2023 19:24:24
Ср мар 15, 2023 20:02:00