Код: Выделить всё
(RCC->CFGR & RCC_CFGR_SWS_HSE) == 1Код: Выделить всё
#define RCC_CFGR_SWS_HSE ((uint32_t)0x00000004) /*!< HSE oscillator used as system clock */Код: Выделить всё
(RCC->CFGR & RCC_CFGR_SWS_HSE) == 1Код: Выделить всё
#define RCC_CFGR_SWS_HSE ((uint32_t)0x00000004) /*!< HSE oscillator used as system clock */Это что-то инопланетное ? Про программатор с таким именем не слышал. Если комп достаточно не новый и имеет LPT или COM, то для начинающего лучше "5 проводков" или AVR910 . А лучше купить у кетайцев на Ali USB ASP .дмитрий95 писал(а):Какой програматор выбрать ?AVR
USB bar
В окошке Address: пишем "i:0000" и смотрим.paskal писал(а):...А ОЗУ как посмотреть?
Код: Выделить всё
символ ABCHGEFD
PORTD ...AB.DC
PORTC E.F...HG
Код: Выделить всё
// для удобства определим константы, определяющие биты сегментов
#define A 0x80
#define B 0x40
... и так далее
// в этой переменной у нас будет число, которое надо вывести на сегменты
char symbol;
// далее я разобью оператор на строки, чтобы было понятнее, в каком месте что делается
PORTD = // в порт D будет выводиться
(PORTD & ~(A | B | D | C)) // содержимое тех битов порта, которые не назначены сегментам, отсюда инверсия перед скобками
| (((symbol & (A | B)) >> 3) // сдвинутые на 3 позиции вправо биты AB
| ((symbol & D) << 1) // сдвинутый на 1 влево бит D
| ((symbol & C) << 5) // и сдвинутый на 5 влево бит С
; // все, наконец-то
// аналогично надо сформировать и новое значение порта С - не буду делать этого в целях экономии своих сил
Код: Выделить всё
void SetSeg(char s)
{
(s & _A_)? Port_SEG_A_0 : Port_SEG_A_1;
(s & _B_)? Port_SEG_B_0 : Port_SEG_B_1;
(s & _C_)? Port_SEG_C_0 : Port_SEG_C_1;
(s & _D_)? Port_SEG_D_0 : Port_SEG_D_1;
(s & _E_)? Port_SEG_E_0 : Port_SEG_E_1;
(s & _F_)? Port_SEG_F_0 : Port_SEG_F_1;
(s & _G_)? Port_SEG_G_0 : Port_SEG_G_1;
(s & _H_)? Port_SEG_H_0 : Port_SEG_H_1;
}
Код: Выделить всё
#define SEG_A (1 << PB6)
...
#define Port_SEG_A_0 (PORTB &= ~SEG_A)
#define Port_SEG_A_1 (PORTB |= SEG_A)
...
Код: Выделить всё
TGpio<PORTA, PIN1> Pin_SEG_A;
...
Pin_SEG_A.Init(OUT_PP_2M, OUT_LO);
...
Pin_SEG_A = (s & _A_);
...
программатор USBasp не то напсал ! значит AVR910 советуешь ?Jack_A писал(а):Это что-то инопланетное ? Про программатор с таким именем не слышал. Если комп достаточно не новый и имеет LPT или COM, то для начинающего лучше "5 проводков" или AVR910 . А лучше купить у кетайцев на Ali USB ASP .дмитрий95 писал(а):Какой програматор выбрать ?AVR
USB bar
