-
Постов
178 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент skripach
-
switch (PLACE) { case 0: PORTB &= 0b11000011; PORTC &= 0b11000000; PORTD &= 0b11111100; PORTC |= (DIG[L0]&0b00111111); if (MODE==1) PORTC.5=0; PORTD |= ((DIG[L0]&0b11000000)>>6); A0=1; break; case 1: PORTB &= 0b11000011; PORTC &= 0b11000000; PORTD &= 0b11111100; PORTC |= (DIG[L1]&0b00111111); PORTD |= ((DIG[L1]&0b11000000)>>6); A1=1; break; case 2: PORTB &= 0b11000011; PORTC &= 0b11000000; PORTD &= 0b11111100; PORTC |= (DIG[L2]&0b00111111); PORTD |= ((DIG[L2]&0b11000000)>>6); A2=1; break; case 3: PORTB &= 0b11000011; PORTC &= 0b11000000; PORTD &= 0b11111100; PORTC |= (DIG[L3]&0b00111111); PORTD |= ((DIG[L3]&0b11000000)>>6); A3=1; break;
-
попробуй так switch (PLACE) { case 0: PORTB &= 0b11000011; PORTC |= (DIG[L0]&0b00111111); if (MODE==1) PORTC.5=0; PORTD |= ((DIG[L0]&0b11000000)>>6); A0=1; break; case 1: PORTB &= 0b11000011; PORTC |= (DIG[L1]&0b00111111); PORTD |= ((DIG[L1]&0b11000000)>>6); A1=1; break; case 2: PORTB &= 0b11000011; PORTC |= (DIG[L2]&0b00111111); PORTD |= ((DIG[L2]&0b11000000)>>6); A2=1; break; case 3: PORTB &= 0b11000011; PORTC |= (DIG[L3]&0b00111111); PORTD |= ((DIG[L3]&0b11000000)>>6); A3=1; break;
-
И зачем тебе рамка! Договорись с каким-нибудь водителем (с этого завода) и он легко ее вывезет.
-
смотри тут https://arduino-kit.ru/product/plata-rasshireniya-s-taymerom-rele-4-kanala-5-v-dlya-arduino-pro-mini
-
там вроде еще А3 свободно!
-
Да. вход А2
-
Synthesizer_Mega_2560_v2b_TEST_6.1.ino.mega.hex
-
А этот? Synthesizer_Mega_2560_v2_d.ino.with_bootloader.mega.hex
-
Бит TWINT очищается программно
-
на timer1 два прерывания? оставь только interrupt [TIM1_CAPT] void timer1_capt_isr(void) { // твой код }
- 4 ответа
-
- захват таймера
- Atmega328
-
(и ещё 1 )
C тегом:
-
#define F_CPU 16000000UL //частота МК #include <avr/io.h> #include <util/delay.h> #define SPI_PORTX PORTB #define SPI_DDRX DDRB #define SPI_MOSI 3 #define SPI_SCK 5 #define SPI_SS 0 int main(void) { SPI_DDRX |= (1 << SPI_MOSI) | (1 << SPI_SCK) | (1 << SPI_SS); SPCR = (1 << SPE) | (1 << DORD) | (1 << MSTR) | (0 << CPOL) | (0 << CPHA) | (0 << SPR1) | (1 << SPR0); SPSR = (0 << SPI2X); while(1) { SPI_PORTX &= ~(1 << SPI_SS); SPDR = 254; while (!(SPSR & (1 << SPIF))); SPI_PORTX |= (1 << SPI_SS); _delay_ms(100); } }
-
если так #define F_CPU 16000000UL //частота МК #define SPI_PORTX PORTB #define SPI_DDRX DDRB #define SPI_MOSI 3 #define SPI_SCK 5 #define SPI_SS 0 int main(void) { SPI_DDRX |= (1 << SPI_MOSI) | (1 << SPI_SCK) | (1 << SPI_SS); SPI_PORTX |= (1 << SPI_MOSI) | (1 << SPI_SCK) | (1 << SPI_SS); SPCR = (1 << SPE) | (1 << DORD) | (1 << MSTR) | (0 << CPOL) | (0 << CPHA) | (0 << SPR1) | (1 << SPR0); SPSR = (0 << SPI2X); while(1) { SPI_PORTX &= ~(1 << SPI_SS); SPDR = 254; while (!(SPSR & (1 << SPIF))); SPI_PORTX |= (1 << SPI_SS); _delay_ms(100); } }
-
часы должны работать . почитай комментарии к статье, может они тебе помогут.
-
и к бабке не ходи!
-
ссылку на сайт с проектом можно.
-
то есть вы например устанавливаете 12:53 то когда включ. ход часов время 12:53 или другое?
-
что значит ошибку дает?
-
пересчитать нужно __config 0x3F84
-
вот здесь __config 0x3F84 ; _CPD_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF ; & _INTRC_OSC_NOCLKOUT ; __idlocs 0xFF, 0xFF, 0xFF, 0xFF