Trích:
Nguyên văn bởi hoahiep1959
tôi viết 1 đoạn code cho Pic18f4431 giao tiep Isd4002 bằng PICC nhưng nó không chạy.Tôi dùng driver cua con ISD4002 có sẳn trong PICC.ai có kinh nghiệm coi thử giùm tôi viết đúng ko? cảm ơn anh em!
#include "C:\Program Files\PICC\Drivers\isd4003.c"
#int_RB
void RB_isr(void)
{
delay_ms(40);
disable_interrupts(INT_RB);
if (!input(PIN_B7))
{
output_d(0b10000000);
record_message(0b00000011) ;
delay_ms(40);
break;
}
if (!input(PIN_B6))
{
output_d(0b01000000);
play_message(0b00000011);
delay_ms(40);
break;
}
if (!input(PIN_B5))
{
output_d(0b00100000);
stop_message();
delay_ms(40);
break;
}
if (!input(PIN_B4))
{
output_d(0b00010000);
break;
}
enable_interrupts(INT_RB);
}
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF|ADC_TAD_MUL_0|ADC_WHEN_INT0|ADC_ INT_EVERY_OTHER);
setup_spi(SPI_MASTER|SPI_L_TO_H|SPI_CLK_DIV_4);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab
// TODO: USER CODE!!
while(1)
{
output_d(0b00010000);
delay_ms(200);
output_d(0b00000000);
delay_ms(200);
}
}
|
anh dùng thư viện của ISD4003 để lập trình cho ISD4002 nên không thể chạy là đương nhiên. vì thanh ghi lệnh của MOSI là <5 bit opcode> <10bits address> mà.