• 追加された行はこの色です。
  • 削除された行はこの色です。
 閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)~
 ~
 *XC8:プログラミング書式の確認 [#d396fb60]
 
 多くのフラットフォーム(Win,Mac,Linux)と全てのPICで統一した開発環境 MPLAB X IEDと
 XC CコンパイラーがMicrochip社から2012年3月に発表されました。
 2013年6月にはXC8がv1.20にバージョンアップされました。
 
 今回XC Cコンパイラーのプログラミング(コーディング)書式をXC8で確認してみました。2013/09/22
 
 (ポイント)
 【トピックス】
 ・最も手間取ったのが、コンフィグレーションワードの設定書式です。
 やっとの思いでPIC型番ごとに↓ここに書かれている事を見付けました。
 C:\Program Files (x86)\Microchip\xc8\v1.20\docs\chips\16f628a.html
 ・main()プログラムファイルは、Source Filesフォルダーを選択し、FileのNew Fileで
 Categories:Cで、C Main Fileを選択し作成する。main()のひな形コードを示してくれます。
 
 ・XC8 ユーザーズガイドは↓ここにダウンロードされてます。
 C:\Program Files (x86)\Microchip\xc8\v1.20\docs\manual.pdf (6.2MB 564ページ)
 
 ・PORTへの値入力の書式は、XC8 ユーザーズガイドp.143、5.3.6 Using SFRs Form C Code
 の項に記載がある。
 例:PORTBbits.RB3 = 1; //RB3をHighに
 
 |&attachref(,zoom,120x200,button){新しい写真添付};|&attachref(,zoom,120x200,button){新しい写真添付};|
 
  /* 
   * File:   led_main01.c
   * Author: 管理人
   *
   * Created on 2013/09/23, 11:15
   */
  
  #include <stdio.h>
  #include <stdlib.h>
  #include <xc.h>
  
  /*
   * LEDの点灯、消灯
   * XC8 v1.20
   * PIC 16F628A
   */
  //コンフィグレーションワードの設定
  //C:\Program Files (x86)\Microchip\xc8\v1.20\docs\chips\16f628a.htmlに記述書式あり
  #pragma config BOREN = OFF //4VブラウンアウトリセットOFF
  #pragma config CPD = OFF //データーコードプロテクションOFF
  #pragma config FOSC = INTOSCIO //内部発振使用
  #pragma config MCLRE = OFF //マスタークリアー機能OFF(RA5入出力として使用)
  #pragma config WDTE = OFF //ウォッチドッグタイマーOFF
  #pragma config CP = OFF //プログラムコードプロテクションOFF
  #pragma config LVP = OFF //低電圧プログラム書き込みOFF
  #pragma config PWRTE = ON //パワーアップタイマーON
  //↓シンプル記述書式でもOK
  //#pragma config BOREN = OFF, CPD = OFF, FOSC = INTOSCIO, MCLRE = OFF
  //#pragma config WDTE = OFF, CP = OFF, LVP = OFF, PWRTE = ON
  
  int main(int argc, char** argv) {
      //PICの初期化
      PORTB = 0b00000000; //PORTBの中身をきれいにする
      TRISB = 0b00000010; //RB1は1:入力、他のPORTBは0:出力に設定
      //PICの初期化終わり
  
      //メイン処理
      while(1){
          PORTBbits.RB3 = 1; //RB3をHighに
          PORTBbits.RB4 = 0; //RB4をLowに
      }
      return (EXIT_SUCCESS);
  }
 
 ★この情報は役に立ちましたか?
 #vote(はい[19],普通[4],いいえ[7])
 
 #comment_nospam