سلام
می خوام تراشه 74HC597 راه اندازی کنم به مشکل برخوردم
به دلیل استفاده از SPI سخت افزاری در یک بخش برد، مجبور شدم SPI نرم افزاری استفاده کنم و بصورت دستی دستورات شیفت رجیستر رو بدم
این برنامه ام هست، اشتباه ام کجای کار هست ؟
دوستان راهنمایی کنند ممنون می شم.
نمی تونم اطلاعات رو از پایه 9 این تراشه به میکرو شیفت بدم. :sad:
می خوام تراشه 74HC597 راه اندازی کنم به مشکل برخوردم
به دلیل استفاده از SPI سخت افزاری در یک بخش برد، مجبور شدم SPI نرم افزاری استفاده کنم و بصورت دستی دستورات شیفت رجیستر رو بدم
این برنامه ام هست، اشتباه ام کجای کار هست ؟
کد:
#define CLK597 PORTC.2 //pin 11 74HC597 #define SDI597 PORTC.4 //pin 9 74HC597 #define RCLK597 PORTC.3 //pin 12 74HC597 unsigned char SPI597(void) { unsigned char j,outvar; outvar=0; j=128; while(j>0) { CLK597=0; CLK597=1; if(SDI597>0) outvar|=j; j>>=1; } return(outvar); }; void main(void) { PORTC=0x00; DDRC=0xFF; while (1) { RCLK597=0; RCLK597=1; RCLK597=0; RCLK597=1; a = SPI597(); } }
نمی تونم اطلاعات رو از پایه 9 این تراشه به میکرو شیفت بدم. :sad:
دیدگاه