• 追加された行はこの色です。
  • 削除された行はこの色です。
 #freeze
 閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)~
 *XC8:プログラミング書式の確認 [#d396fb60]
 
 Win,Mac,Linuxの3つのOSと全てのPICで統一した開発環境 MPLAB X IEDとXC Cコン
 パイラーがMicrochip社から2012年暮れに発表されました。
 2013年6月にはXC8がv1.20にバージョンアップされました。
 
 今回XC Cコンパイラーのプログラミング(コーディング)書式をXC8で確認してみました。
 PIC16F628Aにて確認 2013/09/23
 
 【トピックス】
 ・最も手間取ったのが、コンフィグレーションワードの設定書式です。
 やっとの思いで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
 の項に記載がある。
 例:PORTAbits.RA1 = 1; //RA1をHighに
 
 |&attachref(628led点灯画像.JPG,zoom,200x300,button){新しい写真添付};|&attachref(xc8エディター全体画像.jpg,zoom,200x250,button){新しい写真添付};|&attachref(16F628Aピンデザイン画像.jpg,zoom,200x250,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
   * LED:RA1,RA2に接続
   */
  //コンフィグレーションワードの設定
  //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の初期化
      PORTA = 0b00000000; //PORTAの中身をきれいにする
      TRISA = 0b00000000; //PORTAの全ての端子を0:出力に設定
      //PICの初期化終わり
  
      //メイン処理
      while(1){
          PORTAbits.RA1 = 1; //RA1をHighに
          PORTAbits.RA2 = 0; //RA2をLowに
      }
      return (EXIT_SUCCESS);
  }
 
 ★この情報は役に立ちましたか?
 #vote(はい[0],普通[0],いいえ[0])
 #vote(はい[1],普通[0],いいえ[0])
 
 #comment_nospam