We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello everybody, .i'm looking for a code to have spi communication between aduc841 and maxq3183 for my project.i've got some code from internet but nothing is working right for me. one is : #pragma DEBUG OBJECTEXTEND CODE // pragma lines can contain state C51 #include <stdio.h> // declarations for I/O functions #include <ctype.h> #include <ADuC841.h> // ADuC841 predefined symbols
sbit ss = P1^5; // Chip select for maxq3183 (PORT1.5) /******************************************************* Initialize the ADuC841 resouces being used in this sample *******************************************************/ void initmaxq3183(void) { SPICON = 0x2A; } void init841(void) // Initialize internal peripherals { /* Initialize SPI to talk to maxq3183 */ CFG841 = 0x10; // Serial interface enable for P3.5..P3.7 pins SPICON = 0x3A; // Enable SPI I/F as master, SCLOCK idle H, // advance MSB output, sclock=fcore/8 }
/******************************************************* This function transmittes a byte data on the SPI interface *******************************************************/
void spiTx(unsigned char txDat) // Transmit a byte data over the SPI { ISPI = 0; // Clear ISPI bit SPIDAT = txDat; while(!ISPI); // Wait until tx complete ISPI=0; } void spiTxslave(unsigned char txDatslave) { ISPI =0; SPIDAT=txDatslave; while(!ISPI); ISPi=0; CPHA=1; }
void main() {
init841(); while(1) { spiTx(0x15); //for checking spiTx(0x12); }
initmaxq3183(); spiTxslave(0x15); // for checking spiTxslave(0x12);
}
i was not getting data on SPIDAT reg. also, after checking the signals on miso, it was not coming. need a help form anyone.
After 10 years, I rather doubt any one was really waiting for that.
And the linked site is very poorly written, with some glaring mistakes!