X



トップページ電気・電子
1002コメント317KB
初めてのPIC 0x10
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/06/29(金) 18:48:43.85ID:4nIk8bhW
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
0448774ワット発電中さん
垢版 |
2018/07/17(火) 07:23:46.69ID:gGn6CShc
そう。倍角を計算で出力するか、そういうフォントデータなのかは、やってることが違うよね。
0451774ワット発電中さん
垢版 |
2018/07/17(火) 07:31:59.22ID:WNcnGo/O
どうしていつも最後は、険悪な雰囲気、になるんだろ?

PICユーザーであり続けると好戦的になるんだろうか?
好戦的な人がPICユーザーになるんだろうか?
それが疑問だw
0452774ワット発電中さん
垢版 |
2018/07/17(火) 07:36:47.30ID:PxPVYUGT
大きいフォントデータを、小さいフォントデータから、プログラムで都度作っているのだったら、
「大っきいのありました。 」
という表現になるかな、という気もするけれど、そういう既存ライブラリが見つかったのかもしれないし、
ちょっとした表現上のユーモアなのもしれないし。
0454774ワット発電中さん
垢版 |
2018/07/17(火) 07:46:14.82ID:PxPVYUGT
>>453
24ドットフォントのワープロが、4倍角で疑似スムージングをやっていたのを思い出した。
角っこを斜めしてるだけじゃん、って思ってた。

それでもやってみたら、いろいろ難しいノウハウがあったのかもしれない。
当時は若かったし、たいしてキレイでもないとか、批判するしか考えがなかったな。

>>438のはスムージングはしてないみたいですけど。
0455774ワット発電中さん
垢版 |
2018/07/17(火) 08:04:35.62ID:gGn6CShc
滑らかなら美しいけど、視認性向上が目的なら滑らかさは必要条件じゃないし、フォントデータがROMを圧迫するから計算で倍角表示する意義はあると思う。特にPIC16だと。

俺もでかフォント挑戦してみようかな。
0456774ワット発電中さん
垢版 |
2018/07/17(火) 08:26:03.77ID:emKDZF4W
>>451
面白いw
まあ単純にたまたま今このスレに血の気の多いやつが常駐してるってだけだと思う
気楽にいこうぜ
0457774ワット発電中さん
垢版 |
2018/07/17(火) 13:17:17.92ID:9xAXR94G
>>453
難しいっていうか
ドットフォントをスムージングして
良くなってるのを見たことがない
今の技術だと良くなるの?
0462774ワット発電中さん
垢版 |
2018/07/17(火) 19:29:50.30ID:gGn6CShc
1602キャラクタ液晶からの置き換えとしては興味深いネタだし、HX1230やNokia液晶の縦8ドットフォントは小さいから、でか文字表示は意義がある。

縦16ドットだと2段表示になるけど、任意位置への微小画像表示の連続と考えれば、何とかなりそう。
0467774ワット発電中さん
垢版 |
2018/07/17(火) 20:05:43.70ID:NsqjlPIi
>>460
何がきれいかは好みだからいいけど、
ドットフォント<>アウトラインフォント
プロポーショナルフォント<>等幅フォント
違いがわかってるのかな?
0469774ワット発電中さん
垢版 |
2018/07/17(火) 20:11:12.54ID:gGn6CShc
文字列スクロールならプロポーショナルがいいけど、トリップメーターや温度計なら等幅
0470774ワット発電中さん
垢版 |
2018/07/17(火) 20:34:17.14ID:/7+5kBn6
>>468
写真を貼るようなネタはないけど
320x480のフルカラー
PIC32MZ2048EFH144
例の秋月の変態PIC
0471774ワット発電中さん
垢版 |
2018/07/17(火) 22:24:46.37ID:P/HZPcm7
ソースを上げろというから上げる
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);
}
0476774ワット発電中さん
垢版 |
2018/07/18(水) 07:58:50.69ID:km/kBXNd
iがbyteだったり
4bitずつちまちまNtoBとか

8bit CPUの癖が抜けてない感じだね
0478774ワット発電中さん
垢版 |
2018/07/18(水) 10:32:22.17ID:RsuRinJq
>>475,476
PIC16用のコードなんですけど。。。
F1825でSSD1306への表示部分
紛らわしいときにこんなん出すなって?
0485774ワット発電中さん
垢版 |
2018/07/18(水) 15:14:09.85ID:ukP4uiZw
>>483
で、おまえはここで何するの?
無理して話題を追わなくていいんだ、黙ってれば。
0487774ワット発電中さん
垢版 |
2018/07/18(水) 22:24:45.04ID:f6Sm6nkZ
XC8とXC32って型のサイズとデフォルトの符号以外に
違う点があるのか?

XC32特有の効率的なコーディングがあるのか?
0488774ワット発電中さん
垢版 |
2018/07/18(水) 22:27:57.41ID:Tdh83tlv
ひと通りフォントも表示もできたようだし、
描画もできたようだし、
さてあとは何が出てくるかな?
0489774ワット発電中さん
垢版 |
2018/07/18(水) 22:28:00.75ID:fBVqpit4
XC8
8ビートPIC用

XC32
32ビートPIC用

そもそも用途からして全然違うわけですが何か?
0490774ワット発電中さん
垢版 |
2018/07/18(水) 22:34:38.33ID:Z4g9B/jm
>>488
もう後は実戦投入でしょ。
もともと何だっけ、砂時計だっけ?
あれは別の人か?
HX1230は共通だけどPICが違う人が混在してる?
0493774ワット発電中さん
垢版 |
2018/07/18(水) 22:42:04.14ID:oQCcwnu1
PIC32
Pros
リッチな周辺機能
Cons
プアなポート駆動力
0494774ワット発電中さん
垢版 |
2018/07/18(水) 22:54:16.64ID:f6Sm6nkZ
このスレに書き込んでるHX1230使いは3人くらいいる。
ROM含めたら無数にいるのでは。
0497774ワット発電中さん
垢版 |
2018/07/19(木) 08:04:16.76ID:2ia91leQ
>>496
昔、Hi-Tech Cって言うC/PMで動くZ80用のコンパイラがあったけど、そのベースになったコンパイラは同じもの?
0498774ワット発電中さん
垢版 |
2018/07/19(木) 08:13:18.57ID:8l+uCjDu
コンパイラが同じベースかどうかはしらないけど、同じブランドを経ているのは確か。
0499774ワット発電中さん
垢版 |
2018/07/19(木) 10:55:17.74ID:mj55s4MO
Hi-Tech Cは、むかしオーストラリアのコンパイラメーカで
いろいろなCPUのを出していたんだけど、
Microchipに買われてPIC以外「廃棄」された
ゆるすまじ
0500774ワット発電中さん
垢版 |
2018/07/19(木) 13:21:50.09ID:AUcndKQo
90年代はCCSとか秋月扱いGrich RCとかの方が使ってる人多かったのに
いつの間にかHitechが買収されてた
0501774ワット発電中さん
垢版 |
2018/07/19(木) 14:12:30.23ID:2+2ZiBvR
>>499 >>500
アメリカ企業らしいね。
昔、フォード(?)がアメリカ中の鉄道会社を買収して運行停止させ自動車を普及させた手段と同じだな。
0502774ワット発電中さん
垢版 |
2018/07/19(木) 14:16:40.09ID:GHHtQ+Lj
>>495
最低2人で、たぶん3人かな
サンハヤトの人とパスコンの足が長い人で2人
あとは、パワーグリッドに組んで3Dプリンターのケースに入れてた人が
どちらかと被るかどうかってとこ
0504774ワット発電中さん
垢版 |
2018/07/19(木) 15:28:57.79ID:QdLjgD3f
>>502
物を買った日本人は7件、最低4人いる。
いちばん最近の人はまだ届いてないだろう。
0506774ワット発電中さん
垢版 |
2018/07/19(木) 16:11:50.42ID:vDSu4Sk+
>>505
ジジイの昔話よりよっぽどいいよ。

弁慶ジジイは本スレでも賑やかしてればいいのに…。
0507774ワット発電中さん
垢版 |
2018/07/19(木) 18:59:54.79ID:a9ggYNTL
>>499
あのTAITOの名作、ダライアスだってHI-TECH Cで書かれていた
エンドクレジットにHI-TECH Cの記述があるぞ
0512774ワット発電中さん
垢版 |
2018/07/19(木) 22:02:47.12ID:32th8qRl
>>511
初めてにゃ見えんがな…

いずれにしても、
昔話以外参加できず、まして何のネタ振りも出来ない>>510は放置で
0518774ワット発電中さん
垢版 |
2018/07/19(木) 23:09:29.80ID:Qu6lOH9V
>>516
上の方の話じゃないですが、
XC8ではOKとかXC32ではNOとかはないですよね?
0520774ワット発電中さん
垢版 |
2018/07/20(金) 07:04:41.76ID:R/H7LNyW
pos = 1 << 7 - (Ypos & 7);
pos = 0x80 >> (Ypos & 7);
pos = SHIFT_TABLE[Ypos & 7];

XC32だと2個目が一番速いかな
XC8は値依存、平均だと3個目?
0521774ワット発電中さん
垢版 |
2018/07/20(金) 07:20:06.45ID:R/H7LNyW
データ並び順が変態な液晶の並び替えの処理かな
おれはこの並び順がどうしても許せなくて
カラー液晶にした
0522774ワット発電中さん
垢版 |
2018/07/20(金) 07:21:39.93ID:sCXrDT2m
>>518
8bit PICはバイト単位でしかも1bitづつしかシフト出来ない。

32bitは4バイト単位で、何ビット分かを一度にシフト可。
0523774ワット発電中さん
垢版 |
2018/07/20(金) 07:26:55.19ID:R/H7LNyW
「ずつ」と「づつ」はどちらを使っても誤りではありませんが、「ずつ」を使うほうが好ましい

だって
0524774ワット発電中さん
垢版 |
2018/07/20(金) 07:43:03.84ID:R/H7LNyW
描画速度を考えたら8bitなんてゴミ

1ドットスムーズスクロールとか
テキストの回転とか
ちょっとでも凝った描画を考えているなら
迷わず32bitを使おう
0526774ワット発電中さん
垢版 |
2018/07/20(金) 08:36:58.80ID:BSe7OcWJ
画面のリフレッシュレートを考えれば
1ドットスクロールしたところで糞も使えないスクロールでしかない

Z80機で16方向高速スクロールゲームが出来た
1/60秒に1回描画させれば済むのに
なにが1ドットだよ?アホめ
0534774ワット発電中さん
垢版 |
2018/07/20(金) 16:16:55.71ID:3EHZqa7P
1ドットスムーズスクロール
の意味を知らないって落ちかよwww

ゲームボーイの作品じゃなくて
お前がPICで作った作品
0535774ワット発電中さん
垢版 |
2018/07/20(金) 16:27:52.07ID:NvlZrCxS
1ドットスムーズスクロールなんて誰でもできる
だがやったところで毎秒たった60ドットしかスクロールできない
糞の役にも立たない
0538774ワット発電中さん
垢版 |
2018/07/20(金) 17:35:06.47ID:9k3/d6li
>>537
で、お前がやったそれよりもっとすごい
度肝を抜くようなスクロール動画のリンクはどこ?
貼り忘れてるぞ。

それともまさか毎度おなじみ弁慶さん、また来たの?
0539774ワット発電中さん
垢版 |
2018/07/20(金) 17:41:07.43ID:eYr5yJwF
>>522
XC32でそれを発揮させるにはどう書けばいいんだ?
XC8と同じ書き方でも自動的にそうなるの?
0540774ワット発電中さん
垢版 |
2018/07/20(金) 18:13:58.19ID:3EHZqa7P
>>535
毎秒60ドットスクロール出来るならすばらしいじゃん
ファミコンだって1ドットスクロールが売り
その辺はMSXと大差
0541774ワット発電中さん
垢版 |
2018/07/20(金) 18:18:33.47ID:xDJSxUuu
>>540
320×200の画面を
毎秒60ドットスクロールなら
横1画面分で5秒もかかる
意味あんのか?

それにファミコンはハードでスプライト機能を持ってる
ソフトでやる必要すらない
0542774ワット発電中さん
垢版 |
2018/07/20(金) 18:25:50.31ID:3EHZqa7P
わざわざハードを積んででも実現したい機能だったんだよ
スプライトもスクロールも
0543774ワット発電中さん
垢版 |
2018/07/20(金) 18:28:11.81ID:R/H7LNyW
>>539
自動で32bitが活きる場合もあるが
基本は手動

4バイトまとめて計算出来ないか考えて
32bit変数で計算するコードにする
0544774ワット発電中さん
垢版 |
2018/07/20(金) 18:33:40.51ID:R/H7LNyW
例えば>>520のコードで
Yposが連続してたら
pos = 0x80402010u >> (Ypos & 4);
と書ける

レジスタが多いので
pos0 = 0x80402010;
pos1 = 0x08040201;
としておいて8バイト単位で処理すれば
計算自体も不要
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況