سلام
من میخوام کد سی زیر رو از AVR به کد سی واسه آرم اتمل Keil تبدیل کنم میخواستم ببینم تبدیلی که انجام دادم درست هست یا نه؟
[PHP]
CSN=0;
spi(reg);
data=spi(0xFF);
CSN=1;[/PHP]تبدیلش کردم به
[PHP]
SPI_Write(AT91C_BASE_SPI0,0,reg);
data = SPI_Read(AT91C_BASE_SPI0);[/PHP]میخواستم بدونم الان درست تبدیل کردم؟ تو AVR قبل و بعد استفاده از تابع spi() باید CSN و اول صفر و بعد یک کنیم تو آرم اتمل هم این کار لازمه؟
دستور Read رو درست به کار بردم؟
کانفیگی که برای راه اندازی SPI تو آرم اتمل به کار بردم تا شبیه AVR بشه
کد:
SPI_Configure_PIO_MAKS(SPI0_PORT,SPI0_PIO_MASK); // Enable the SPI pins required by the application
SPI_Configure(AT91C_BASE_SPI0, // SPI0 TO USE
AT91C_ID_SPI0, // SPI0 PMC ID TO Active Power
SPI_MASTER| // SPI SET TO MASTER MODE
SPI_ONE_DEVIDE| // SPI Connct TO 1Device {NO MOLTI DEVICE}
SPI_MOD_FDIS); // Disable Mode Fault Detection
SPI_ConfigureNPCS(AT91C_BASE_SPI0,
0, // Config Chanal 0 SPI0_NPCS0
SPI_MODE_0| // L ACRIVE CLOCK & POS EDGE
SPI_8_BIT| // 8 Bit Data strim
SPI_SCBR(1000000,BORD_CLK)| // Clock Of SPI SET To 1 MHZ
SPI_DLYBCT(1000,BORD_CLK)); // Delay In Send Strim 1us
SPI_Enable(AT91C_BASE_SPI0); // Enable SPI0