#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(はい[9],普通[0],いいえ[1]) - 最近、アセンブラからCへの移行と、mplab8からmplabxへの移行をいっぺんに実施しようと試み、タイマ0のプリスケーラが動かない等、初歩的な部分で苦心中です。具体的な解決策が見つかる糸口が得られそうです。勉強になりました。ありがとうございます。 -- [[伊藤]] &new{2014-01-20 (月) 12:18:09}; - 伊藤さん、参考になった様で何よりです。コメント頂きうれしいです。ありがとうございました。具体的にはどの情報が参考になりましたでしょうか?今後の参考にさせて頂きます。 -- [[管理人]] &new{2014-01-24 (金) 18:43:43}; #comment_nospam