S
superhuat
Guest
こんにちはすべて、私は現在のプロジェクトで働いています。私は送信することとの間のデータの10バイトを受け取る必要があるとMSP430F425のPC。私はそれを行うには
、 マイコンのタイマA機能¥を使用しています。今は
、 送信するとの間でアスキー1バイトのデータを受け取ることができるよには、PCとMCU。質問をどのようにコードを送信するとデータの10バイトの受信内容を変更したいですか?私はバイトのデータバイトを格納するためのバッファを使用する必要がありますか?のデータを約5情報で構¥成され、10バイト(2バイトごと)。もう一つの問題は、優れている-タイマA、または
、 マイコンのUARTの機能¥を使って?すべてを事前にいただきありがとうございます。ところで私はIAR Embedded Workbenchでのコードのリストを使用してはこちら-
のメイン
するfor(;
<img src=¥"http://www.edaboard.com/images/smiles/icon_wink.gif¥" alt=¥"ウインク¥" border=¥"0¥" />(
RX_Ready(); / / UARTの送受信1にバイトの準備
_BIS_SR(LPM3_bits GIE); / /文字までRXed LPM3を入力して
TX_Byte();
)
/ / RXTXDataバッファ関数から伝送キャラクタ
無効TX_Byte(無効)
(
BitCnt = 0xAを/ /ロードビットカウンタ、8data STの/ SPの
CCR0 = TARファイル/ /タ
、 カウンタの現在の状態
CCR0 = Bitime; / /最初のビットまでのいくつかの時間
RXTXData | = 0x100; / / RXTXDataにマークをストップビットに追加
RXTXData = RXTXData""1 / /領域のスタートビットを追加
CCTL0 = OUTMOD0 CCIE / / TXD =マーク=アイドル
中(CCTL0&CCIE);テキサス竣工/ /待って
)/ /関数の準備を進めるなかのUART RXTXDataバッファへの文字を受信する
無効RX_Ready(無効)
(
BitCnt = 0x8を/ /ロードビットカウンタ
CCTL0 = SCSの CCIS0 OUTMOD0 CM1キャップ CCIE / / Syncは、ネガティブエッジをキャプチャ
)/ /タイマA0割り込みサービスルーチン
#プラグマベクトル= TIMERA0_VECTOR
(無効)タイマ_A無効__interruptを
(
CCR0 = Bitime; / / CCR0までのオフセットを追加
/ /送受信
場合(CCTL0&CCIS0)/ /送受信CCI0Bに?
(
場合(CCTL0とCAP)/ /撮影モード=スタートビットのエッジ
(
CCTL0&=〜キャップ; / /モードを比較するためにキャプチャ
CCR0 = Bitime_5;
)
その他の
(
RXTXData = RXTXData""1;
場合(CCTL0&SCCI)/ビットで待機して取得/受信ラッチ
RXTXData |が0x80;
BitCnt - ; / /すべてのビットRXed?
場合(BitCnt == 0)
//>>>>>>>>>>デコードする受信バイトのここ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< """"
(
CCTL0&=〜CCIE / /すべてのビットを無効にするRXed割り込み
_BIC_SR_IRQ(LPM3_bits); 0(Sr)のから/ /クリアLPM3ビット
)
//>>>>>>>>>>デコードする受信バイトのここ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< """"
)
)
/ /テキサス州
その他の
(
場合(BitCnt == 0)
CCTL0&=〜CCIE / /すべてのビットを無効にするTXed割り込み
その他の
(
CCTL0 | = OUTMOD2; / /テキサススペース
場合(RXTXData&0x01)を
CCTL0&=〜OUTMOD2; / /テキサスマーク
RXTXData = RXTXData""1;
BitCnt - ;
)
)
)
、 マイコンのタイマA機能¥を使用しています。今は
、 送信するとの間でアスキー1バイトのデータを受け取ることができるよには、PCとMCU。質問をどのようにコードを送信するとデータの10バイトの受信内容を変更したいですか?私はバイトのデータバイトを格納するためのバッファを使用する必要がありますか?のデータを約5情報で構¥成され、10バイト(2バイトごと)。もう一つの問題は、優れている-タイマA、または
、 マイコンのUARTの機能¥を使って?すべてを事前にいただきありがとうございます。ところで私はIAR Embedded Workbenchでのコードのリストを使用してはこちら-
のメイン
するfor(;
<img src=¥"http://www.edaboard.com/images/smiles/icon_wink.gif¥" alt=¥"ウインク¥" border=¥"0¥" />(
RX_Ready(); / / UARTの送受信1にバイトの準備
_BIS_SR(LPM3_bits GIE); / /文字までRXed LPM3を入力して
TX_Byte();
)
/ / RXTXDataバッファ関数から伝送キャラクタ
無効TX_Byte(無効)
(
BitCnt = 0xAを/ /ロードビットカウンタ、8data STの/ SPの
CCR0 = TARファイル/ /タ
、 カウンタの現在の状態
CCR0 = Bitime; / /最初のビットまでのいくつかの時間
RXTXData | = 0x100; / / RXTXDataにマークをストップビットに追加
RXTXData = RXTXData""1 / /領域のスタートビットを追加
CCTL0 = OUTMOD0 CCIE / / TXD =マーク=アイドル
中(CCTL0&CCIE);テキサス竣工/ /待って
)/ /関数の準備を進めるなかのUART RXTXDataバッファへの文字を受信する
無効RX_Ready(無効)
(
BitCnt = 0x8を/ /ロードビットカウンタ
CCTL0 = SCSの CCIS0 OUTMOD0 CM1キャップ CCIE / / Syncは、ネガティブエッジをキャプチャ
)/ /タイマA0割り込みサービスルーチン
#プラグマベクトル= TIMERA0_VECTOR
(無効)タイマ_A無効__interruptを
(
CCR0 = Bitime; / / CCR0までのオフセットを追加
/ /送受信
場合(CCTL0&CCIS0)/ /送受信CCI0Bに?
(
場合(CCTL0とCAP)/ /撮影モード=スタートビットのエッジ
(
CCTL0&=〜キャップ; / /モードを比較するためにキャプチャ
CCR0 = Bitime_5;
)
その他の
(
RXTXData = RXTXData""1;
場合(CCTL0&SCCI)/ビットで待機して取得/受信ラッチ
RXTXData |が0x80;
BitCnt - ; / /すべてのビットRXed?
場合(BitCnt == 0)
//>>>>>>>>>>デコードする受信バイトのここ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< """"
(
CCTL0&=〜CCIE / /すべてのビットを無効にするRXed割り込み
_BIC_SR_IRQ(LPM3_bits); 0(Sr)のから/ /クリアLPM3ビット
)
//>>>>>>>>>>デコードする受信バイトのここ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< """"
)
)
/ /テキサス州
その他の
(
場合(BitCnt == 0)
CCTL0&=〜CCIE / /すべてのビットを無効にするTXed割り込み
その他の
(
CCTL0 | = OUTMOD2; / /テキサススペース
場合(RXTXData&0x01)を
CCTL0&=〜OUTMOD2; / /テキサスマーク
RXTXData = RXTXData""1;
BitCnt - ;
)
)
)