16+
Пятница
19 апреля
Вход |Карта сайта |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры PIC

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
Shatun_  (07.01.2019 10:35) , в ответ на Не :) Нашел перед НГ у себя несколько PIC16F1454. Легких путей мы не ищем - ардуины не пройдут! ;), посему зародилась мысль - а не забацать ли именно на этой таракашке чё-нить "для души", пока все спят до середины Января. Заодно пощупать за вымя автор: Гудвин
Насчет времянки для WS2812B. У меня получилось и на помедленней. Пришлось ассемблер использовать. На С было не предсказуемо, плюс шлак от XC8 free делал код медленным. 
void putColor(uint8_t r, uint8_t g, uint8_t b) {
    c[0] = r;
    c[1] = g;
    c[2] = b;

    cj = LEDS_COUNT;
    INTERRUPT_GlobalInterruptDisable();
#asm
LED_LOOP:
    banksel _c
    MOVF _c & 0x7F, W
    banksel _cc
    MOVWF _cc & 0x7F
    banksel _c
    MOVF (_c + 1) & 0x7F, W
    banksel _cc
    MOVWF (_cc + 1) & 0x7F
    banksel _c
    MOVF (_c + 2) & 0x7F, W
    banksel _cc
    MOVWF (_cc + 2) & 0x7F

    MOVLW 24
    banksel _ci
    MOVWF   _ci & 0x7F

LED_BIT_LOOP:
    banksel _cc
    BTFSC _cc & 0x7F, 7
    BRA LED_SEND_1
    banksel LATC
    BSF LATC, 0x5
    BCF LATC, 0x5
    BRA LED_SEND_DONE
LED_SEND_1:
    banksel LATC
    BSF LATC, 0x5
    NOP
    NOP
    BCF LATC, 0x5

LED_SEND_DONE:
    banksel _cc
    RLF (_cc + 2) & 0x7F
    RLF (_cc + 1) & 0x7F
    RLF _cc & 0x7F

    banksel _ci
    DECFSZ  _ci & 0x7F
    BRA LED_BIT_LOOP

    banksel _cj
    DECFSZ  _cj & 0x7F
    BRA LED_LOOP
#endasm    
    INTERRUPT_GlobalInterruptEnable();
    __delay_us(50);
}
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX