<p>รบกวนช่วยแนะนำด้วยครับเนื่องจากต้องการฝึกเขียน PIC  (dsPIC33FJ128GP708)  โดยผมต้องการให้รับค่าจากการกดสวิตซ์ จากขา RB0 และให้ไปแสดงผลที่ขา RB15 ดังโค๊ดด้านล่างนี้ แต่หลังจากโหลดโปรแกรมแล้วไม่ทำงานตามที่ต้องการครับ  ขอบคุณครับ</p><p><br />#include "p33FJ128GP708.h"                                             // dsPIC33FJ128GP708 MPU Register<br />#include <stdio.h>  <br />/* Setup Configuration For ET-dsPIC33WEB-V1 */<br />_FOSCSEL(FNOSC_PRIPLL &                                             // Select Primary OSC = XT <br /><br />+ PLL<br />         IESO_OFF )                                                    // Startup With <br /><br />User Select OSC<br />_FOSC(FCKSM_CSDCMD &                                                // Clock Switch Disabled    <br />      OSCIOFNC_OFF &                                                // OSC2 Pin = Clock O/P<br />      POSCMD_XT)                                                    // Primary OSC = XT <br />_FWDT(FWDTEN_OFF &                                                   // Disable Watchdog Timer <br />      WINDIS_OFF &                                                  // Disabled Windowed WDT<br />      WDTPRE_PR128 &                                                // Watchdog prescaler=1:128<br />      WDTPOST_PS32768)                                                 // Watchdog <br /><br />postscaler=1:32,768<br />_FPOR(FPWRT_PWR128)                                                   // Power-on Reset Value = <br /><br />128ms<br />_CONFIG3(JTAGEN_OFF);                                                // Disable JTAG Interface<br />/* End of Configuration For ET-dsPIC33WEB-V1 */<br /><br />/* pototype  section */<br />void delay(unsigned long int);                                        // Delay Time Function<br /><br />int  main(void)<br />{  <br />  /* Start of PLL Config Fcy = 40MIPS */<br />  CLKDIV &= 0xFFE0;                                                    // PLLPRE[4..0] =00000 (N1=2)<br />  CLKDIV &= 0xFF3F;                                                    // PLLPOST[1:0] = 00 (N2=2)<br />  PLLFBD  = 0x26;                                                    // PLLDIV[8..0] = 000100110(M=40)<br />  while(!OSCCONbits.LOCK);                                            // Wait PLL to Lock<br />  OSCCONbits.CLKLOCK = 1;                                            // Disable PLL Modify<br /> <br />  TRISBbits.TRISB15 = 0;                                                // RB8 = Output<br />  TRISBbits.TRISB0 = 1;                                                // RD0 = Input<br /> <br /><br /> while(1)  <br />  {<br /><br />   LATBbits.LATB15 = PORTBbits.RB0;<br />                           <br />  }   <br />}     </p>
มือใหม่ใช้ ET-dsPIC33 Web V1