• slider image 442
  • slider image 492
  • slider image 493
  • slider image 494
  • slider image 495
  • slider image 496
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (asdzxcfgh)




Re: dsPIC30F4011"急"請大家幫'忙一下關於單晶片ASCII碼以轉成二進制的問題提供程式範例 謝謝
#1
新會員
新會員


我們有成功轉換顯示出確的數值
C_H_M 真的很謝謝您 還附上簡單的解說以便我們了解 感謝萬分

發表於: 2008/4/7 11:32
頂部


Re: dsPIC30F4011"急"請大家幫'忙一下關於單晶片ASCII碼以轉成二進制的問題提供程式範例 謝謝
#2
新會員
新會員


不知道 是不是我們有不懂的地方

不過 UART 好像沒辦法用 SIM 或是 DEBUG 模式 除錯...

發表於: 2008/3/26 15:18
頂部


dsPIC30F4011"急"請大家幫'忙一下關於單晶片ASCII碼以轉成二進制的問題提供程式範例 謝謝
#3
新會員
新會員


問題:

以下為RTC教育訓練課程UART的程式範例 EX1
在C30EVM_LCD.h裡面我們發現
putsLCD可顯示字元
putthexLCD可顯示16進制
put_Num_LCD可顯示10進制
這些都是寫好的可以直接拿來應用
在二進制沒有寫好的範例可以拿來應用 所以需要自己修改
我們所想要的結果上想要在LCD上顯示二進制的值
比如我們鍵盤案"A" 透過RS232傳輸
LCD上會顯示01000001



以下程式我們有經過多次修改可是都得不到我們要的結果
我們執行修改過的程式在LCD上顯示都是 00000000而不是正確的轉換碼 請幫我們看程式哪裡有錯誤的地方 並予以指正簡答


void _ISR _U1RXInterrupt(void)
{
Rec_Buffer = ReadUART1( ); // Read data from Receiver FIFO
ABC = Rec_Buffer;
AA = ABC;


Rec_Flag = 1; // Set the Received Flag
IFS0bits.U1RXIF = 0 ; // Clear Interrupt Flag
}


int main( void )
{
SRbits.IPL=4;
OpenLCD( ) ; // 使用 OpenLCD( )對 LCD 模組作初始化設定
Test_UART( ); // UART 模組測試程式
}

void Test_UART(void )
{
unsigned char n;

Init_UART( ) ; // 對 UART 模組作初始化設定

printf("\x1b[2J");

setcurLCD(0,0) ; // 使用 setcurLCD( ) 設定游標於 (0,0)
putrsLCD( UART_LCD1 ) ;
setcurLCD(0,1) ; // 使用 setcurLCD( ) 設定游標於 (0,1)
putrsLCD( UART_LCD2 ) ;

printf("************************************************************\r\n");
printf("* Microchip Workshop RTC Training Exercise 1 : *\r\n");
printf("* Please send the folat value form SIN 0 ~ 180 deg *\r\n");
printf("************************************************************\r\n");

for (n=0;n<190;n+=10)
{
Sin_A = sinf((n*PI)/180);
printf(" SIN %3d deg = %f\n\r",n,Sin_A);
}

setcurLCD(0,1) ; // 使用 setcurLCD( ) 設定游標於 (0,1)
putrsLCD( UART_LCD5 ) ;


while (1)
{
while ( !Rec_Flag) ;

Rec_Flag=0;
if (Rec_Buffer==0x0d)
{
setcurLCD(0,0) ;
putrsLCD( UART_LCD3 ) ;
setcurLCD(0,1) ;
putrsLCD( UART_LCD4 ) ; //Clear Line 2 of LCD
setcurLCD(0,1) ;
Rec_Count=0;
}
else
{
// puthexLCD( ABC );
// putcLCD(ABC);

for( n=0 ; n<8 ; n++)
{
jk[n] = ABC && aa ;
jk[n] = jk[n] >> n ;
aa = aa >> 1 ;
putcLCD(jk[n] + '0' );
}

Rec_Count++;
if (Rec_Count>=4)
{
setcurLCD(0,1) ;
Rec_Count=0;
}
}
}

}

或是 有簡單的轉二進制的程式可以提供參考~~

發表於: 2008/3/26 14:50
頂部






:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------