下記の添付ファイルで、xc8 pic16f1827にUART送信を行っていますが、
RB2のRXピンがpic16f1827によりHiの5Vに駆動されているので、
PCからデーターが送信出来ません。
Q1)この不具合の解決に関して、コメント頂けますと
大変有難いです。
貼付コード:
===========================-
#include <xc.h>
#include <pic16f1827.h>
//====================
#define _XTAL_FREQ 8000000 // 8MHz
// CONFIG1
#pragma config FOSC = INTOSC // Oscillator Selection bits (INTRC oscillator; CLKO function on RA6/OSC2/CLKO pin and port I/O function on RA7/OSC1/CLKI pin)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON //OFF-->ON *** Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
#pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
#pragma config LVP = OFF // Low-Voltage Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
#pragma config CPD = OFF // Data EE Memory Code Protection bit (Code protection off)
//#pragma config CCPMX = RB0 // CCP1 Pin Selection bit (CCP1 function on RB0)
#pragma config CLKOUTEN = ON
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled)
#pragma config IESO = OFF //ON-->OFF ****Internal External Switchover bit (Internal External Switchover mode enabled)
// コンフィギュレーション2の設定
#pragma config WRT = OFF // Flashメモリーを保護しない(OFF)
#pragma config PLLEN = OFF // 動作クロックを32MHzでは動作させない(OFF)
#pragma config STVREN = ON // スタックがオーバフローやアンダーフローしたらリセットをする(ON)
#pragma config BORV = HI // 電源電圧降下常時監視電圧(2.5V)設定(HI)
#pragma config LVP = OFF // 低電圧プログラミング機能使用しない(OFF)
unsigned char RC_DATA; //EQU 0x75
unsigned char RC_DATAWK; //EQU 0x76
void RESET_RCIF(void);
void tx_rs232c_main(void);
void LED_toggle(){
if(PORTBbits.RB0==0) {
PORTBbits.RB0=1;
}
else PORTBbits.RB0=0;
}
void __interrupt() myIsr(void){
if(PIE1bits.TMR1IE && PIR1bits.TMR1IF) {
PIR1bits.TMR1IF = 0;
LED_toggle();
}
// btfsc PIR1,RCIF ;RS232C割込み
if(PIR1bits.RCIF){
RESET_RCIF();
}
}
void RESET_RCIF(void){
PIR1bits.RCIF=0;
PIR1bits.TXIF=0;
PIE1bits.RCIE=0;
RC_DATA=RCREG;
// andをとる
RC_DATAWK=RC_DATA & 0xc0;
tx_rs232c_main();//割込み処理
PIE1bits.RCIE=1;
}
No.1ベストアンサー
- 回答日時:
ご提示のプログラムは小生にはちょっとわかり兼ねますが、UART機能の使用宣言やボーレートの設定が見当たらないように思います。
お世話になります。
pic16f88とはuartの設定が変わっている様です。
APFCON0=0xff APFCON1=0x00の設定が必要でした。
データーシートが2個あり、その内1個は不完全でした。
また、開発環境MPLAB XIDEは外注で制作しているようで、
その機能、操作方法の十分なチェックが出来ていない様です。
VisualStudioの制作を行った所と同じようです。
以上、回答有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 英語得意な方、お願いします。 5 2022/08/20 14:08
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Microsoft ASP LEDで電光掲示板に「A B C D E」と表示したいのですが・・・ 1 2023/07/04 07:37
- 扇風機・冷風機・サーキュレーター スマートプラグで最近の扇風機は操作できない? 5 2022/11/04 13:37
- その他(パソコン・周辺機器) USB端子間に挟んで使う、スイッチのような物は売られていますか。 3 2022/08/25 22:26
- Chrome(クローム) Chromeリモートデスクトップについて 1 2022/09/02 18:40
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
DLLの関数呼び出しで引数がある...
-
Delphiの定数とローカル変数の...
-
C++にてtemplateで受け取った任...
-
既定のコンストラクタがありま...
-
OpenSSLのSHA1関連の関数はどこ...
-
コールバックって・・・
-
関数ポインタについて
-
int main()、void main()、void...
-
合格か否かを表示するプログラ...
-
マイナスからプラスへ転じた時...
-
変数とパラメータとは違うもの...
-
「指定されたキャストは有効で...
-
Enterキーを押されたら次の処理...
-
2÷3などの余りについて
-
DWORDの実際の型は何でしょうか
-
数字以外が入力されたらエラー...
-
Aの値からBの値を除するとは??
-
ある商品のロス率を5%見込み、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【gcc・cygwin】multiple defin...
-
int main()、void main()、void...
-
戻り値を返す関数の前に(void)...
-
既定のコンストラクタがありま...
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
多重定義が起きている?--lnk20...
-
C++にてtemplateで受け取った任...
-
静的でないメンバ関数の呼び出...
-
C# Controls.Addで動的に配置し...
-
const_castのつかいどころを教...
-
(void)0 はどんな意味ですか
-
C# KeyDownイベントでショート...
-
gcc: incompatible pointer type
-
C#でラジオボタンを設定に記録...
-
VC++でGetKeyboardStateがうま...
-
C言語 ① 5秒間 1秒間隔で点滅を...
-
void*型の配列について
-
GDI+の使用方法について
-
関数ポインタについて
おすすめ情報