X



トップページ電気・電子
1002コメント428KB
初めてのPIC 0x12
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/09/19(水) 16:56:18.51ID:F4lNkPz3
PICを触り始めて比較的日が浅いという初心者のためのスレです。
もちろん、日は経っているが自分はまだ初心者という方も大歓迎です。
PIC選びやPICを使った回路設計は誰でも最初は不安なものです。
恥ずかしがらずに何でも尋ねてみましょう。
なお、PIC関係のスレにはもう1つ「PIC専用のスレ」があります。

質問・回答する際は…
 必ずPICの型番と開発環境を明記しましょう。
 プログラムはレス内に直接書き込まず以下を利用しましょう。
  http://codepad.org/

その際心がけることは…
 品格に劣る回答者はスルー(相手すると逆効果)
 素人玄人などと上から目線の回答者は無視
 良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
 回答者のアドバイスで後日解決したら結果報告
 回答者は初心者に優しく
 Atmel買収以降アンチによる荒らしも横行してるので見かけても無視
 (特にスレ立て当初はこぞって荒らしに来るのでスルー)


必要なソフトなど(基本無料)
 統合開発環境 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以降の型番で始めると無理なく始められます。
 最初からPIC32で始めるのもあり。
 MCCの利用でハードルはむしろ低いです。
 http://akizukidenshi.com/catalog/g/gI-11902/
 プログラムの書き込みには書き込み器が必要です。
 持っていない場合はPICkit4などを購入しましょう。
 なお、eBayやAliExpressで買えるPICkit3の中華クローンも十分な性能が報告されています。
 PIC一覧、スペック検索
  ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
  ttp://www.microchip.com/maps/microcontroller.aspx

過去スレ
 0x11 2018/08/05〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1533446166/
 0x10 2018/06/29〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1530265723/
 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

では、質問どうぞ〜っ
0740774ワット発電中さん
垢版 |
2019/01/30(水) 21:06:08.10ID:eIEIwlYw
DIPタイプのICをソケットから抜くとき斜めに抜いてしまって、足が曲がり、
それを2、3回繰り返すと金属疲労で足が折れてしまうことがあります。
そのICをつかうためにはどうすればいいんでしょうか。
0741774ワット発電中さん
垢版 |
2019/01/30(水) 21:08:32.56ID:HwNbKSm1
>>737
ちょっと、説明がわからないです。
忙しくポチポチしない限りチャタリングってそれほど悪さしないもんですけどね。

では、スイッチは無視して、単純なプログラムだけのLチカはどうですか?
http://codepad.org/A8TiWfwO
何も押さなくても0.5秒間隔で点滅し続ける、いわゆる単純なただのLチカです。
どうなります?
0743模型にLED
垢版 |
2019/01/30(水) 21:15:08.35ID:wTQ7bfmI
>>741
点滅OKです
これは前に作った

RA3=1;
__delay_ms(500);
RA3=0;
__delay_ms(500);

と同じ感じですね
0744774ワット発電中さん
垢版 |
2019/01/30(水) 21:15:30.47ID:HwNbKSm1
>>740
どこから折れたかによるし、何に使うかにもよるけど、
基本リード線の切れ端でどうにかする、でしょ。
ちなみに、しょっちゅう曲がるけど、折れちゃったことはないなあ。
曲げちゃったのは最優先で使っちゃうから。
0745774ワット発電中さん
垢版 |
2019/01/30(水) 21:22:28.11ID:HwNbKSm1
>>743
ほう、ではいよいよスイッチですかね。
その前に、スイッチの代わりに何か線の切れ端を手で挿し込むかPICの足に触れさせたらどう?
ジャンパー線の片方をGNDに挿しておき、もう一方でPICのピンをつんつんするの。
プログラムは1つ前のこれで。
http://codepad.org/nl6k9HaL
うちでは全く問題なく、つんで点灯、つんで消灯、つんで点灯…、ってなります。
0746740
垢版 |
2019/01/30(水) 21:39:10.52ID:eIEIwlYw
>>744
PICは勉強中でして、抜き差しが多いものですから。
今は書き込みにはゼロプレッシャーソケットをつかうし、
引き抜き器も買いまして、もうそういうことはないとは思います。
足の折れたPICは何か固定用途を見つけて、外側からリードをはんだ付けします。

コメントありがとうございました。
0747模型にLED
垢版 |
2019/01/30(水) 21:43:11.58ID:wTQ7bfmI
>>745
短いサイクルでつんつんすると、つんで点灯、つんで消灯、つんで点灯となりますが
つんで点灯後に何もしないと自動消灯となり点灯維持しないですね
0750774ワット発電中さん
垢版 |
2019/01/30(水) 22:03:41.02ID:zhC7dtED
>>746
へ〜〜〜
足って折れるものなのか〜〜〜〜〜
この20年間一度も折れたことないけど
しかも、ピン数少ないならピンセットで簡単に取れるし
28or40ピンならマイナスドライバーで均等にすきま作って奥まで差し込めば
簡単に抜けると思うが?????
0751774ワット発電中さん
垢版 |
2019/01/30(水) 22:09:44.07ID:HwNbKSm1
>>747
とりあえず、チャタリングとは別に何か問題がありそうですね。

点灯させておいて放置すると勝手に消えるんですね?
1.そのあとまたつんつんするとどうなります?
  もう2度と点灯しませんか?
2.つんで消灯させてからしばらく放置したあとでつんしたら点灯しますか?

あと、環境を教えてください。
ブレッドボードとか、電源はどうしてるかとか。
それと、Cionfiguration Wordも見せてください。
0752774ワット発電中さん
垢版 |
2019/01/30(水) 22:12:17.48ID:GOrDpMNa
>>739

わかったよ。
普通のプッシュスイッチな。

だったら、プログラムに書いた通りの動作であってる。
別にチャタリングとか関係ない。

押してる間だけ点滅するソフトになってる。

だから、今のソフトを改造して
トグル動作をするソフトを書く必要がある。
その時はチャタリング考慮しないと多分誤動作する。
0753774ワット発電中さん
垢版 |
2019/01/30(水) 22:21:58.69ID:EFfPw2wn
ID:GOrDpMNa
まだいたのか。
相変わらず偉そうにレスしてるが、
>モメンタリスイッチは "押してる間だけ" っていう動作はしない。
>"押してる間だけ"っていう動作は「プッシュスイッチ」。
に関して何か言うことはないのか?
0754774ワット発電中さん
垢版 |
2019/01/30(水) 22:24:11.43ID:eKZoGpCK
ID:GOrDpMNa
良くしゃあしゃあと出てくるよな。
しかも、相変わらずの上から。
厚顔無恥。
0756774ワット発電中さん
垢版 |
2019/01/30(水) 22:33:58.18ID:EYoKVfJf
>>755
Watchdog timer 有効にしてるのだったら、ちゃんと、ループ内でクリアしないとリセットかかるよ。
0757774ワット発電中さん
垢版 |
2019/01/30(水) 22:38:28.23ID:ZZD7xpms
>>752
モーメンタリやオルタネートがスイッチの動作
プッシュやトグル、ロッカーなんかはスイッチの種類

「普通」は?w
混同しまくってるなw
0758模型にLED
垢版 |
2019/01/30(水) 22:42:52.71ID:wTQ7bfmI
>>756
コンフィグは本のお勧めの自動作成にしてたので分からなかったです
具体的にはWatchdog timerをOFFにすれば大丈夫ですか?
0759774ワット発電中さん
垢版 |
2019/01/30(水) 22:45:14.14ID:L+gYc+RL
>ただのプッシュスイッチ
というのと
>普通のプッシュスイッチ
というのは、どう違うんだ
0760751
垢版 |
2019/01/30(水) 22:46:19.31ID:gaV7dHGg
>>755
ぱっと見でMCLRをプルアップかなあ。
それともWatchdog Timerかなあ。

最近まじめにデータシート見ないんで、すぐに問題点が浮かばず申し訳ないw
とりあえず、うちのMCCが吐いたコンフィグはこんなの。
http://codepad.org/3AHa3o34
0763774ワット発電中さん
垢版 |
2019/01/30(水) 23:07:03.71ID:5A9NVdgi
ID:GOrDpMNa
良かったじゃん、あと50分でチャラよ。
実生活の方で気をつけろよな、その品性w
0765708
垢版 |
2019/01/30(水) 23:30:08.05ID:Rupp8dkS
こんな感じで動作しないかな?試してないけど。

//ウィンカーの点滅
int wTimer
wTimer = 0;
//点灯すべきウィンカー
int wFlag;
wFlag = 0;
//ハザードを点滅させる場合は1。スイッチを押すたびに0-1を切り替える
int hFlag;
hFlag = 0;
//チャタリング判定用。
//通常時は0、スイッチが押されている間は1、スイッチON→OFFのタイミングでカウント増加
int swFlag;
swFlag = 0;

while(1){
if(RB5 == 0){
if(swFlag == 0){
if(hFlag == 0){
wFlag = 0b11000011;
wTimer = 0; //操作されたら、すぐに点灯させる
hFlag = 1; //ハザードスイッチの状態を覚える
}else{
wFlag = 0b00000000;
wTimer = 0;
hFlag = 0;
}
}
swFlag=1;
}else{
if(swFlag > 0) swFlag++;
if(swFlag >= 50) swFlag = 0; //RB5スイッチが50ms以上オフになるまで次の操作はできない
}
if(wFlag > 0){ //動作させるべきウィンカーがある場合は500ms毎に点滅
if(wTimer == 0) PORTB = wFlag;
if(wTimer == 500) PORTB = 0;
wTimer++;
if(wTimer >= 1000) wTimer = 0;
}else{
if(wTimer == 0){ //全オフになったら、一回だけポートBに出力
PORTB = wFlag;
wTimer = 1;
}
}
__delay_ms(1);
}
0767774ワット発電中さん
垢版 |
2019/01/30(水) 23:44:07.41ID:4gao6nSf
>モメンタリスイッチは "押してる間だけ" っていう動作はしない。
by ID:GOrDpMNa

どんだけ恥ずかしい書き込みしても、どんだけ品性の低さをさらしても、あと17分でチャラですよ。
ホント、ここが掲示板で良かったよねえw
0768模型にLED
垢版 |
2019/01/30(水) 23:46:15.65ID:wTQ7bfmI
>>756
>>760
でけました!!!
ありがとう感謝感謝です

他のアドバイス下さった方もありがとです
まだ先は長いですけどまたアドバイスお願いします

>>765
ありがとです
ゆっくり試してみます
0769708
垢版 |
2019/01/30(水) 23:48:51.33ID:Rupp8dkS
タブが使えないようなので、スペースで字下げしてみた。
あと、PORTBへの出力をPORTAに修正
//ウィンカーの点滅
int wTimer
wTimer = 0;
//ウィンカーの点灯対象
int wFlag;
wFlag = 0;
//ハザードを点滅させる場合は1。スイッチを押すたびに0-1を切り替える
int hFlag;
hFlag = 0;
//チャタリング判定用。
//通常時は0、スイッチが押されている間は1、スイッチON→OFFのタイミングでカウント増加
int swFlag;
swFlag = 0;

while(1){
if(RB5 == 0){
if(swFlag == 0){
if(hFlag == 0){
wFlag = 0b11000011;
wTimer = 0; //操作されたら、すぐに点灯させる
hFlag = 1; //ハザードスイッチの状態を覚える
}else{
wFlag = 0b00000000;
wTimer = 0;
hFlag = 0;
}
}
swFlag=1;
}else{
if(swFlag > 0) swFlag++;
if(swFlag >= 50) swFlag = 0; //RB5スイッチが50ms以上オフになるまで次の操作はできない
}
if(wFlag > 0){ //動作させるべきウィンカーがある場合は500ms毎に点滅
if(wTimer == 0) PORTA = wFlag;
if(wTimer == 500) PORTA = 0;
wTimer++;
if(wTimer >= 1000) wTimer = 0;
}else{
if(wTimer == 0){ //全オフになったら、一回だけポートBに出力
PORTA = wFlag;
wTimer = 1;
}
}
__delay_ms(1);
}
0771模型にLED
垢版 |
2019/01/30(水) 23:55:54.03ID:wTQ7bfmI
>>770
そうです
Watching TimerをOFFにしただけです
0772模型にLED
垢版 |
2019/01/30(水) 23:58:44.19ID:wTQ7bfmI
嬉しくてポチポチ切り替えまくりw
0775774ワット発電中さん
垢版 |
2019/01/31(木) 00:28:07.41ID:H/7Tzai6
>スイッチにテスタ当てて、ちゃんと「モメンタリ動」するか確認したの?

これが気になって寝れないかも・・・
0776774ワット発電中さん
垢版 |
2019/01/31(木) 00:32:33.74ID:mwjkatv3
>>771
Watchdogね、番犬だから。
ご主人に相手してもらえないと吠えるの。

さて、お次は点滅、ウインカーとハザードですが、どうしますかね。
>>685にも書いた通り、おすすめはタイマー割り込みを使うことですが、ちとハードルが高いかもです。
本には何か載ってますかね?
0777774ワット発電中さん
垢版 |
2019/01/31(木) 00:42:32.18ID:vw/lV5fX
>>775
俺がエスパーするとだな、スイッチの中にニードルみたいな物がバネに支えられてる
スイッチを押し込んでいくとバネが縮んで一定の押し込みでニードルがバネに弾かれて接点と接触
すぐにニードルが引っ込んで接点と放れる
これが「モメンタリ(瞬間)動」スイッチだw
ちなみに作動音はノック式ボールペンと酷似してる
0778模型にLED
垢版 |
2019/01/31(木) 01:02:14.99ID:NPV6XSDY
>>776
あ〜そういうことかw
確かに犬だ

入門書だからかざっと見た感じタイマー割り込みという文言は見当たりませんね
ウインカー右用、左用と12F1822を2個用意して16F1827でスイッチ動作させれば目的は達成しそうですが
ハザード操作の時左右にずれが出たりしないですかね?
0779774ワット発電中さん
垢版 |
2019/01/31(木) 01:06:25.88ID:4esAKWAZ
>>777
>すぐにニードルが引っ込んで接点と放れる
おかしくね?
押してる間はONになっててくれないと困る。
momentaryには「一時的な」という意味もあるよ。
あんたの話のソースはどこ?
0780774ワット発電中さん
垢版 |
2019/01/31(木) 01:15:27.33ID:4esAKWAZ
>>778
そうですか、本では扱ってないですか。
非常に便利で、マイコンの主要装備、ある意味主役的な機能です。
使えるようになれば雲泥の差です。

無理強いはしませんが、あなたならここのソースを試すだけの力はもうあると思います。
http://zattouka.net/GarageHouse/micon/MPLAB/16F1827/TIMERtoLED/TIMERtoLED.htm
実際にやってみてからどうするか決めればいいのでは?

あなたのやりたいことはPIC1つだけでも十分実現可能です。
0781774ワット発電中さん
垢版 |
2019/01/31(木) 01:19:26.06ID:/3CXPSGr
>>779
あ、これは一般的なモメンタリじゃなくてID:GOrDpMNaのモメンタリな

>>732←参照
>モメンタリスイッチは "押してる間だけ" っていう動作はしない。
0782模型にLED
垢版 |
2019/01/31(木) 01:22:11.38ID:NPV6XSDY
>>780
ありがとう
自分もこれからの事を考えたらマスターしたいですね
挑戦したいのでまたご助言よろしくお願いします
0784774ワット発電中さん
垢版 |
2019/01/31(木) 03:55:20.87ID:H2P5QYVv
PICの未使用IOピンは、調べてみると不定状態にならないよう出力にしてさらにLOW
に設定するということのようですが、DIPタイプのPICを自作プリント基板で使う
場合、ソケットピンを切り飛ばして穴あけせずに、その下にパターンを配置してよい
ものでしょうか。
0786774ワット発電中さん
垢版 |
2019/01/31(木) 05:06:23.89ID:H2P5QYVv
えーと、寄生容量を形成する、でいいんですかね。何pFかの。
0787774ワット発電中さん
垢版 |
2019/01/31(木) 05:09:51.18ID:H2P5QYVv
あ、正解じゃないですね。パターンとパターンとの間にはもっと大きな静電容量が
寄生することになりますね。すみません、素人で。
0788774ワット発電中さん
垢版 |
2019/01/31(木) 06:22:17.00ID:makpcjZG
>>782
ぜひマスターしてほしいね 人間必要に迫られないと新しいことにはなかなか挑戦しないものだから でもすぐに必要になると思う
例えば…
ウインカーを点滅中にブレーキが踏まれてもブレーキランプが点かない なんておかしいでしょ?
ウインカーの点滅を止めないとその他の動作ができないなんて不便でしょうがないよね
点滅動作にかかりっきりだと他の処理ができなくなっちゃうから割り込みを使ったほうが簡単に実現しやすいんだよ
タイマー割込みじゃなくても状態変化割り込みやメインループを素早く回すためにdelay関数での時間を多くても1/100秒くらいにするとか他の方法もあるけど 
理解しやすくても機能追加していくほどバグを作り込みやすくなるんじゃしょうがないしね まあいろいろやってみて
0789774ワット発電中さん
垢版 |
2019/01/31(木) 13:15:25.32ID:bFTI5tgC
お○こ中におしっこできんのとおんなじか
0793774ワット発電中さん
垢版 |
2019/01/31(木) 16:27:32.59ID:PoJBg+Vv
いいよ。
それくらいの処理なら直接そこに書く方がわかりやすくていい。
0794774ワット発電中さん
垢版 |
2019/01/31(木) 16:49:19.90ID:SrI/q0bL
AVRでLEDごとにタスクを分ければ簡単に実現出来るのに・・・
(当然フルアセンブラで)
もちろんPICのシングルタスクでも実現可能です。
ご苦労さん! & ガンバってね!
0795774ワット発電中さん
垢版 |
2019/01/31(木) 16:52:11.73ID:SrI/q0bL
そう言えば将棋用語に「下手の考え休むに似たり」ってのが有ったなw
0796774ワット発電中さん
垢版 |
2019/01/31(木) 17:40:28.50ID:SrI/q0bL
三流のCPUを使ってると三流の技術しか身につかないのに・・・。
ま、いいか、あえて茨の道を選ぶってこともあるだろうな。
0798774ワット発電中さん
垢版 |
2019/01/31(木) 17:55:19.73ID:kf3hdgNM
>>792
PIC16F1827なんでしょ?
タイマー4つくらいあるよね。
左右で1つずつ使ってもまだ2つある。
0799774ワット発電中さん
垢版 |
2019/01/31(木) 17:58:07.83ID:kf3hdgNM
3つめはPWMで使って点灯パターンをかっこよく作っといて
タイミングは2つのタイマーで取ってPWMのルーティンを呼び出せばいいね。
何か楽しそうだな、おい。
0800模型にLED
垢版 |
2019/02/01(金) 00:58:55.81ID:zeHMqxOU
実際にプログラム組んで下さった方、知識不足で活用出来なくて申し訳ないです…
とりあえず保存して休日にゆっくり試してみます

>>798
フムフム
タイマー機能がいくつか使えるので
ウインカーの点滅リレーとして左右で22つ
ヘッドライトをじわっと点灯とかのパターンもタイマーで作る
それをスイッチ入力で各ピンに出力するプログラムを組む

こういう考え方ですかな?
0802774ワット発電中さん
垢版 |
2019/02/01(金) 08:33:08.13ID:W3SrHkgV
>>769
半角スペースは1個まで。それ以外は全角スペースしか使っちゃだめって小学校で
習わなかった?
0803774ワット発電中さん
垢版 |
2019/02/01(金) 08:45:03.64ID:l8J52RbR
>>724
とても分かりやすいと思うけど。
1つ直すとしたら、
sw=onのあいだ、毎回LED=offしない。
その状態に来る前にonしておくといいね。
0804774ワット発電中さん
垢版 |
2019/02/01(金) 08:52:00.44ID:l8J52RbR
>>769
変数の前についてるwって、何のwなんでしょうか?
ワーク?
0805774ワット発電中さん
垢版 |
2019/02/01(金) 09:04:32.19ID:tOlul5jp
>>803
ちょっと、はしょりましたね。

状態遷移を把握して
あとは、waitループでぐるぐる回すなり、
timer待ち合わせで、処理振り分けするか、
timer割込みで処理するか、
状況において使い分けるということですよ。

Cさえ動けば、picだろうと、avr だろうとほぼ同様のソースになりますね。
0806774ワット発電中さん
垢版 |
2019/02/01(金) 11:36:03.56ID:CixAC5OV
ウィンカーのwじゃねw?知らんけどw
0807774ワット発電中さん
垢版 |
2019/02/01(金) 15:04:10.52ID:EnMaQVyB
>>803
>とても分かりやすいと思うけど。
とても分かりやすい「自画自賛」ですねw

今時、フローチャートでもなく、コード貼るでもなく箇条書きで手順書かれてもねえ…。
0809708
垢版 |
2019/02/01(金) 18:57:55.21ID:hofrAFKp
>>804
ウインカー
回路を見るとウインカーも想定しているようなので、ハザードとウインカーの変数を分離してみた
あとタイマーは中身を理解してもらえそうに無かったので使ってない
0811774ワット発電中さん
垢版 |
2019/02/01(金) 22:02:34.89ID:JCIx+HBn
>>807
アホ
番号そのものが状態遷移なので、
すぐにプログラムが作成できるじやないか。
0812774ワット発電中さん
垢版 |
2019/02/01(金) 22:20:20.55ID:E1sH1oqd
>すぐにプログラムが作成できる
じゃそれ貼れば?
って言ってんだけどなw
0814774ワット発電中さん
垢版 |
2019/02/02(土) 02:50:28.54ID:IDIVw7sD
>>812
ソースを春より、状態遷移図の方が、わかりやすいと思うけど
0815774ワット発電中さん
垢版 |
2019/02/02(土) 03:01:33.10ID:7kKxvanU
>>814
>状態遷移図の方が
確かに「図」ならわかりやすいかもな。
それどこにある?
はよ貼ってください。
0816774ワット発電中さん
垢版 |
2019/02/02(土) 03:31:34.74ID:7jMQP8G7
>>814
何だお前、
>すぐにプログラムが作成できるじやないか。
って言ったの嘘か?
いつまでかかってんだよ、無能か?
で、今度は、
>ースを春より、状態遷移図の方が、わかりやすい
ってか。
コードと図、さっさと両方貼れよ。
お前の「すぐに」は5時間もかかるのかよ、馬鹿なのか?
0817774ワット発電中さん
垢版 |
2019/02/02(土) 03:46:09.09ID:DFG8gK9E
>>809
>あとタイマーは中身を理解してもらえそうに無かったので使ってない
なんか、とても失礼だね、あんた。
自分がタイマー割り込み書けないだけなんじゃないの?
どう見てもコードが泥臭いっていうかカビが生えてそうなんですけどw
0818708
垢版 |
2019/02/02(土) 08:30:22.06ID:nvfT1pVm
>>817
解決の糸口なり、洗礼されたコードを出しているのなら有意義なので何も言いませんが、文句を言いたいだけならただのクソですね
割り込みは当然使える。
本当はチャタリング対策も後回しでいいんじゃないかと思うけど。
0819774ワット発電中さん
垢版 |
2019/02/02(土) 10:25:56.19ID:MNx9pisK
http://codepad.org/az6kV9MR

スイッチの状態管理を別関数でやって、
LEDのon/off状態を確定して、
mainループでは、それを元に、単純点灯かエフェクトつけるか、
もしくは、関数作って外だししてもいいと思います。
0820774ワット発電中さん
垢版 |
2019/02/02(土) 14:59:37.10ID:ACrPXzg/
>>808
>あとタイマーは中身を理解してもらえそうに無かったので使ってない
偉そうだな、無能呼ばわりか、上から、品性低そう。
>>818
>割り込みは当然使える。
>本当はチャタリング対策も後回しでいいんじゃないかと思うけど。
どれどれ、他人をクソ呼ばわりする品性で書いたコード、見してみな。
0822774ワット発電中さん
垢版 |
2019/02/02(土) 16:02:21.61ID:DsKDpZmE
>>819
タイマー割り込み使わない前提だと臭っさいコードになるという典型だねえ。
0823774ワット発電中さん
垢版 |
2019/02/02(土) 16:31:30.86ID:MNx9pisK
>>821

#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

この辺の #include が必要かな。

スイッチのポートとか、LED出力のポートはそっちで決めてね。
0826774ワット発電中さん
垢版 |
2019/02/02(土) 19:53:16.48ID:6KJ/YE5W
MCCでやってみた。
スイッチを押す度に、
右ウインカー点滅、左ウインカー点滅、ハザード(全点滅)、全点灯、前消灯
をトグルで実行する。
MCCでTimer0の500ms間隔の割り込みを作った。
下は自分で書いたり変更した部分だけ。
https://pastebin.com/raw/Za7Xhk02
0827774ワット発電中さん
垢版 |
2019/02/03(日) 02:26:40.92ID:scMqoopy
質問です。

MPLAB X IDE Ver3.xx + XC16 で作ったプログラムを、
MPLAB X IDE Ver4.15 + XC16 で再コンパイルしたら、
ポート設定(TRISやLAT)の部分で、大量のエラーが出ました。
こんなことって、あるのでしょうか?
0828774ワット発電中さん
垢版 |
2019/02/03(日) 02:47:13.04ID:xD/Z/r5/
プロジェクトのチップ名変わってたりはしてないんだよね?
なんだろうな
0831774ワット発電中さん
垢版 |
2019/02/03(日) 13:44:02.24ID:C+/S/U0H
>>827
これは怖い話
俺もver3.15だし

むやみにバージョンアップするなってことか
0833774ワット発電中さん
垢版 |
2019/02/03(日) 15:21:20.97ID:EycvUUhq
PICいいよなー
今arduino pro miniでやってるけど
これ以下にできるのがPIC
一通り揃えてるけどまだやってない・・
今年中にチャレンジしたい
0834774ワット発電中さん
垢版 |
2019/02/03(日) 15:35:07.64ID:EycvUUhq
PICはarduinoと違って型番ごとに設定違うっぽいが
・フランス語
・イタリア語
・ドイツ語
をそれぞれ覚えるくらいめんどうなのかな
かつ「なんとか地方の方言」までついてくるのかなと うーん大変だ
0835774ワット発電中さん
垢版 |
2019/02/03(日) 15:52:32.10ID:zQPRmqWp
Arduinoだってたかだか数種類なのに結構使い方違うでしょ。
PICではこれからはMCCが常識、違いはかなりのレベルまで吸収してくれる。
https://www.microchip.com/mplab/mplab-code-configurator
最低でもMCC対応品を使ってね。
https://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en607248
https://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en609037
https://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en597545
0836774ワット発電中さん
垢版 |
2019/02/03(日) 15:55:53.97ID:xorqBSCH
>>827 は何してる?
まだエラーメッセージの詳細もコンパイラのバージョンも書けないのか。
それともただの荒らしか?
■ このスレッドは過去ログ倉庫に格納されています

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