初めてのPIC 0x10
■ このスレッドは過去ログ倉庫に格納されています
PICをさわるのは今日が初めて、という超初心者のためのスレです。
(O>――<O) PIC選び、PICを使った回路は、誰でも最初は不安なものです。
/ (・) (・) ヽ 恥ずかしがらずに何でも聞いてください。速攻で教えてくれますよ。
○ /▼\ ○ 質問のしかたは、初心者質問スレの発言1を見てくださいね。
|(ヽ二フ ) |
/  ̄ ̄ ̄ ヽ
f ヽ / | PIC関係のスレは、レベルに合わせて以下のスレもありますので、活用しましょう。
ヽ \ / ノ ・PIC専用のスレ
| \_ )(_/ ! 本家本元のPICスレです。口の悪い人もいますが、楽しくやってるみたい。
| | ここの話がわかるようになれば、あなたはもう一人前のPICerです。
| | ・マイコンソフト 悩み事相談室
| | ̄ ̄| | マイコンソフトやツールの質問は、こちらでどうぞ。的確な回答があります。
(_ノ ヽ_)
質問する時のコツ
・性格の悪い回答者はスルーしよう(相手すると逆効果)
・素人玄人などと 上から目線の回答者は、無視してください。相手してはいけません。
・そこそこ良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
・回答者のアドバイスで後日解決したら、結果報告しよう(とても喜ばれる)
・回答者は、僕たち初心者に優しくしてください。あなたも通ってきた道のはずです。
必要なソフトなど(基本無料)
統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
コンパイラ (XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers (高機能版は有料)
コード生成プラグイン (MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
マイクロチップ ライブラリ (MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications
必要なハードなど
初心者はPIC16F1、PIC18F1以降の型番で始めると無理なく始められます。
プログラムの書き込みには書き込み器が必要です。持っていない場合はPICkit3(中華クローンでもまず大丈夫)を使いましょう。
PIC一覧、スペック検索 ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
さ、質問どうぞ〜っ
0x0f 2018/05/01〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1525183933/
0x0e 2018/02/13〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1518524799/
0x0d 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
0X0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108 昔は秋月はちゃんと専用基板を作ってたけど
今はただ変換基板にのせただけだからな >>428
フラッシュ容量が少なくていいなら、それこそ380円のPIC32MXでいいじゃん
フラッシュが256KB、RAM64KBで380円ですよ
そっちはフラッシュ64KB、RAM20KBじゃん フラッシュ容量とRAM容量だけしか見ないならPIC32MMも安いよ
フラッシュ64KB、RAM8KBで税込み175円
http://akizukidenshi.com/catalog/g/gI-11902/ 引き続きフォントを物色中ですが、もうちょっと大きめのも欲しいところです。
フォントがいっぱいあるところご存じないですか?
https://i.imgur.com/Z3dJ7Qn.jpg
https://i.imgur.com/VFIkcsM.jpg 4倍角と思ったら縦20ドット!?
ROM領域に1文字づつ、配列で確保して呼び出し?
1文字分だけでいいんで、フォントデータと、
文字の呼び出し方を見せてもらえませんか? >>383
こういう態度の悪いクレクレ君がいると場が白ける。
何かを出す気も失せるよな。
お前のことだぞ > >>ID:tiCVefT4
http://hissi.org/read.php/denki/20180716/dGlDVmVmVDQ.html >>440
うっぜーと思ったらマッハで透明化したほうが人生楽しいよ。
ほんとキリがないから ミテミテ君とクレクレ君は対をなして存在しているのだ >>383
> >>382
> できたよ報告上げるならソースコードも一緒に上げろ
まず、小学校からやりなおし
中国人か? >>439
10ドットフォントを縦横倍にしただけ
に見える そう。倍角を計算で出力するか、そういうフォントデータなのかは、やってることが違うよね。 どうしていつも最後は、険悪な雰囲気、になるんだろ?
PICユーザーであり続けると好戦的になるんだろうか?
好戦的な人がPICユーザーになるんだろうか?
それが疑問だw 大きいフォントデータを、小さいフォントデータから、プログラムで都度作っているのだったら、
「大っきいのありました。 」
という表現になるかな、という気もするけれど、そういう既存ライブラリが見つかったのかもしれないし、
ちょっとした表現上のユーモアなのもしれないし。 >>453
24ドットフォントのワープロが、4倍角で疑似スムージングをやっていたのを思い出した。
角っこを斜めしてるだけじゃん、って思ってた。
それでもやってみたら、いろいろ難しいノウハウがあったのかもしれない。
当時は若かったし、たいしてキレイでもないとか、批判するしか考えがなかったな。
>>438のはスムージングはしてないみたいですけど。 滑らかなら美しいけど、視認性向上が目的なら滑らかさは必要条件じゃないし、フォントデータがROMを圧迫するから計算で倍角表示する意義はあると思う。特にPIC16だと。
俺もでかフォント挑戦してみようかな。 >>451
面白いw
まあ単純にたまたま今このスレに血の気の多いやつが常駐してるってだけだと思う
気楽にいこうぜ >>453
難しいっていうか
ドットフォントをスムージングして
良くなってるのを見たことがない
今の技術だと良くなるの? お騒がせしています。
やはりプロポーショナルなフォントの方かきれいなので、
いまのところこんな感じになっています。
https://i.imgur.com/lXNsFS9.jpg >>459
サルにもやっと自覚が芽生えたか。
そう、お前が一番ウザイの。 1602キャラクタ液晶からの置き換えとしては興味深いネタだし、HX1230やNokia液晶の縦8ドットフォントは小さいから、でか文字表示は意義がある。
縦16ドットだと2段表示になるけど、任意位置への微小画像表示の連続と考えれば、何とかなりそう。 >>462
おっ、あんたも見てて食指が動いた口か。
おもしろそうだもんな。 >>460
何がきれいかは好みだからいいけど、
ドットフォント<>アウトラインフォント
プロポーショナルフォント<>等幅フォント
違いがわかってるのかな? >>466
買うだけならなw
PICで表示して写真貼らんと、弁慶さん! 文字列スクロールならプロポーショナルがいいけど、トリップメーターや温度計なら等幅 >>468
写真を貼るようなネタはないけど
320x480のフルカラー
PIC32MZ2048EFH144
例の秋月の変態PIC ソースを上げろというから上げる
OLED用8x8ドットフォント4倍角出力部分
データは変数名から想像してw
// 1文字分出力4倍角
// 4bit => 8bitに引き延ばす
byte NtoB(byte c){
byte b=(c<<4)&0x80;
b|=(c<<3)&0x60;
b|=(c<<2)&0x18;
b|=(c<<1)&0x06;
b|=c&0x01;
return b;
}
void OledPutchar4(char c)
{
const char *f;
byte col=OledCol;
byte row=OledRow;
byte b;
if(OledCol>=OLED_MAXCOL) return; // 1行の文字数を超えた場合無視
if(OledRow>=OLED_MAXROW) return; // 行数を超えた場合無視
if(c<0x20) c=0x20; // SP
f=FONT[c-0x20];
for(byte i=0;i<5;i++){
b=NtoB(*(f+i));
OledData(b); OledData(b);
}
OledGotoxy(col,row+1);
for(byte i=0;i<5;i++){
b=NtoB(*(f+i)>>4);
OledData(b); OledData(b);
}
OledData(0); // 文字間の1ドット
OledData(0); // 文字間の1ドット
OledGotoxy(col+2,row);
} >>471
もっと32bitを生かそうよ
ビット順反転で生かし方を学んだでしょ? iがbyteだったり
4bitずつちまちまNtoBとか
8bit CPUの癖が抜けてない感じだね >>475
dsp系の命令使ったら、楽に出来るだろうしな。 >>475,476
PIC16用のコードなんですけど。。。
F1825でSSD1306への表示部分
紛らわしいときにこんなん出すなって? >>382
>>473
>>474
この流れでPIC32と思わない方がおかしいだろ >>483
で、おまえはここで何するの?
無理して話題を追わなくていいんだ、黙ってれば。 XC8とXC32って型のサイズとデフォルトの符号以外に
違う点があるのか?
XC32特有の効率的なコーディングがあるのか? ひと通りフォントも表示もできたようだし、
描画もできたようだし、
さてあとは何が出てくるかな? XC8
8ビートPIC用
XC32
32ビートPIC用
そもそも用途からして全然違うわけですが何か? >>488
もう後は実戦投入でしょ。
もともと何だっけ、砂時計だっけ?
あれは別の人か?
HX1230は共通だけどPICが違う人が混在してる? >>487
違う点はたくさんある
XC32は普通に組めば普通に動く PIC32
Pros
リッチな周辺機能
Cons
プアなポート駆動力 このスレに書き込んでるHX1230使いは3人くらいいる。
ROM含めたら無数にいるのでは。 >>487
XC8はHitech-Cがベース
XC32はGCCがベース >>496
昔、Hi-Tech Cって言うC/PMで動くZ80用のコンパイラがあったけど、そのベースになったコンパイラは同じもの? コンパイラが同じベースかどうかはしらないけど、同じブランドを経ているのは確か。 Hi-Tech Cは、むかしオーストラリアのコンパイラメーカで
いろいろなCPUのを出していたんだけど、
Microchipに買われてPIC以外「廃棄」された
ゆるすまじ 90年代はCCSとか秋月扱いGrich RCとかの方が使ってる人多かったのに
いつの間にかHitechが買収されてた >>499 >>500
アメリカ企業らしいね。
昔、フォード(?)がアメリカ中の鉄道会社を買収して運行停止させ自動車を普及させた手段と同じだな。 >>495
最低2人で、たぶん3人かな
サンハヤトの人とパスコンの足が長い人で2人
あとは、パワーグリッドに組んで3Dプリンターのケースに入れてた人が
どちらかと被るかどうかってとこ >>502
物を買った日本人は7件、最低4人いる。
いちばん最近の人はまだ届いてないだろう。 >>502
全部同じ人かと思った
おれも上げようかな >>505
ジジイの昔話よりよっぽどいいよ。
弁慶ジジイは本スレでも賑やかしてればいいのに…。 >>499
あのTAITOの名作、ダライアスだってHI-TECH Cで書かれていた
エンドクレジットにHI-TECH Cの記述があるぞ >>511
初めてにゃ見えんがな…
いずれにしても、
昔話以外参加できず、まして何のネタ振りも出来ない>>510は放置で unsigned intです。
他はunsigned charです。 >>516
上の方の話じゃないですが、
XC8ではOKとかXC32ではNOとかはないですよね? pos = 1 << 7 - (Ypos & 7);
pos = 0x80 >> (Ypos & 7);
pos = SHIFT_TABLE[Ypos & 7];
XC32だと2個目が一番速いかな
XC8は値依存、平均だと3個目? データ並び順が変態な液晶の並び替えの処理かな
おれはこの並び順がどうしても許せなくて
カラー液晶にした >>518
8bit PICはバイト単位でしかも1bitづつしかシフト出来ない。
32bitは4バイト単位で、何ビット分かを一度にシフト可。 「ずつ」と「づつ」はどちらを使っても誤りではありませんが、「ずつ」を使うほうが好ましい
だって 描画速度を考えたら8bitなんてゴミ
1ドットスムーズスクロールとか
テキストの回転とか
ちょっとでも凝った描画を考えているなら
迷わず32bitを使おう 画面のリフレッシュレートを考えれば
1ドットスクロールしたところで糞も使えないスクロールでしかない
Z80機で16方向高速スクロールゲームが出来た
1/60秒に1回描画させれば済むのに
なにが1ドットだよ?アホめ ■ このスレッドは過去ログ倉庫に格納されています