В настоящее время я пытаюсь создать программу, которая будет выводить аналоговый сигнал на светодиод с использованием микросхемы LTC1661 с PIC18F97J60.
Микросхема da c ltc1661 подключена к моей плате с помощью портов: RC3 для SCK1 RC5 для SDO1 с выводом данных, подключенным к моему 8-битному буферу SPIBUF.
Вот мой код, выводящий его на светодиод, но я не могу заставить светодиод постепенно увеличивать яркость, это просто внезапное включение и выключение.
Любая помощь будет оценена.
#include "amt.h"
#include <p18f97j60.h>
int main(void) {
TRISCbits.RC3 = 0;
TRISCbits.RC5 = 0;
TRISCbits.RC7 = 0;
SSP1CON1 = 0b00100010; // Enable SPI, CKP=0, Master, Fosc/64
SSP1STATbits.CKE = 1; // CKE=1, (rising edge for shift register)
char temp;
while(1) {
//SSP1BUF = 0x00;
PORTCbits.RC7 = 0;
SSP1BUF = 0x98;
while(PIR1bits.SSPIF==0);
SSP1BUF = 0x00;
while(PIR1bits.SSPIF==0);
PORTCbits.RC7 = 1;
PORTCbits.RC7 = 0;
SSP1BUF = 0x98;
while(PIR1bits.SSPIF==0);
SSP1BUF = 0x04;
while(PIR1bits.SSPIF==0);
PORTCbits.RC7 = 1;
}
}