پاسخ : عملکرد PMC_PCER
ممنون میشم اگه این مشکل منو حل کنین .
من یه مداری دارم که از پایه 4 تا 11 ال ای دی وصل کردم و از پایه 12 تا 20 هم همین کلید ها .(به قول شما سوئیچ)
پایه 0 برای Receive و پایه 1 برای Transmit هست . می خوام هر چی از پورت سریال ورودی اومد تو ال ای دی ها نشون بدم و با کلید ها هم به پورت سریال اطلاعات بفرستم .
حالا من برا اینکه این مدارو تست کنم پایه 0 و 1 رو به هم وصل کردم (یعنی Receive و Transmit ) . ولی مدارم کار نمی کنه .
این هم کد بنده هست . اگه مشکلی تو کد هست بفرمایید :
نوشته اصلی توسط حامد پور آزاد
ممنون میشم اگه این مشکل منو حل کنین .
من یه مداری دارم که از پایه 4 تا 11 ال ای دی وصل کردم و از پایه 12 تا 20 هم همین کلید ها .(به قول شما سوئیچ)
پایه 0 برای Receive و پایه 1 برای Transmit هست . می خوام هر چی از پورت سریال ورودی اومد تو ال ای دی ها نشون بدم و با کلید ها هم به پورت سریال اطلاعات بفرستم .
حالا من برا اینکه این مدارو تست کنم پایه 0 و 1 رو به هم وصل کردم (یعنی Receive و Transmit ) . ولی مدارم کار نمی کنه .
این هم کد بنده هست . اگه مشکلی تو کد هست بفرمایید :
کد:
#include <at91sam7s64.h> int main() { *AT91C_PIOA_PER = 0x1FFFF0; *AT91C_PIOA_OER = 0xFF0; *AT91C_PMC_PCER = 1 << 6 | 1 << 2; *AT91C_PIOA_PDR = 0x3; *AT91C_PIOA_ASR = 0x3; *AT91C_US0_CR = AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS; *AT91C_US0_MR = 0x808D0; *AT91C_US0_BRGR = 0x139; while( 1 ) { int a; if( *AT91C_US0_CSR & 1 ) { *AT91C_US0_CR = AT91C_US_RXEN; a = *AT91C_US0_RHR; *AT91C_PIOA_CODR = 0xFF0; *AT91C_PIOA_CODR = a << 4; } *AT91C_US0_CR = AT91C_US_RXDIS; if( *AT91C_US0_CSR & 2 ) { *AT91C_US0_CR = AT91C_US_TXEN; while( *AT91C_PIOA_PDSR & (1 << 20) ); a = (~*AT91C_PIOA_PDSR) & (0xFF000); *AT91C_US0_THR = a >> 12; } *AT91C_US0_CR = AT91C_US_TXDIS; } }
دیدگاه