PIC専用のスレ Part 56 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
______
/Microchip ./|
/ ( ゚∀゚) / | アセンブラのアの字もわからない
|~ ̄ ̄ ̄ ̄ ̄| /. 超初心者からHEXが読めてしまう
|/Z./Z./Z./Z_|/ || 鬼プロフェッショナルの為のスッドレ(#゚Д゚)だ!モ゙ルァ
||. ||. ||. ||
大人気のPICマイコンのスレ
なんといっても情報が豊富だし、開発環境も多いし、パッケージも豊富
使いやすくて、しかも安い。やっぱりPICだよね
例の如く基本リンクだ
http://www.microchip.com/ マイクロチップ本社(Microchip Technology Inc. )
http://www.microchip.co.jp/ マイクロチップ テクノロジー ジャパン 株式会社
http://www.microchip.com/maps/microcontroller.aspx Microchip Advanced Part Selector (Maps)
またーりやっておくんなまし
種類が多くてワカランって奴は上記パーツセレクタで、機能から最適製品を絞り込め!
教えて君はとりあえずGoogle( http://www.google.co.jp/ ) くらい使おう
テンプレ内の秋月小売価格も在庫が捌ければ、次の仕入れからは昨今の為替相場変動にならって
適宜価格改定されてます。ここの表記価格とは違うかもしれないのでそのつもりで
回答者する人の注意
. 最初に回答したい気持ちは分かるけど、質問者の内容を、落ち着いてよく読もう。
質問者する人の注意
. あなたの周囲しか通じない変な省略語は使わずに、なるべく詳しく説明してね
前スレ:
PIC専用のスレ Part55
https://rio2016.2ch.net/test/read.cgi/denki/1491255154 //////////////// 秋月PIC 買うなら これだ ! //////////////////
参考…秋月扱い【Enhanced Mid-Range】8bit PIC12F1* PIC16F1*
[20pin] 種類豊富
16F18346 \160 16Kw 2048 I/O18 ADC17 DAC1 CapS-- Comp2 Timer3/4 CCP0/0/4/2 EUSART1 MSSP2 CWG2 CLC4 NCO1 PPS
16F1829 . \160 08Kw 1024 I/O18 ADC12 DAC1 CapS12 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP2 CWG- CLC- NCO-
16F1828 . \155 04Kw 0256 I/O18 ADC12 DAC1 CapS12 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP1 CWG- CLC- NCO-
16F1709 . \150 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer4/1 CCP0/0/2/2 EUSART1 MSSP1 COG1 CLC3 NCO- PPS
16F1619 . \150 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer4/3 CCP0/0/2/2 EUSART1 MSSP1 CWG1 CLC4 NCO- PPS
16F1579 . \140 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer2/5 CCP0/0/0/4 EUSART1 MSSP- CWG1 CLC- NCO- PPS
16F1508 . \130 04Kw 0256 I/O18 ADC12 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/4 EUSART1 MSSP1 CWG1 CLC4 NCO1
16F1459 . \180 08Kw 1024 I/O17 ADC-9 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/2 EUSART1 MSSP1 CWG1 CLC- NCO- USB
[18pin] 秋月では取扱い少
16F1827 . \130 04Kw 0384 I/O16 ADC12 DAC1 CapS12 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP2 CWG- CLC- NCO-
[14pin] 機能的に8pin同等
16F18326 \130 16Kw 2048 I/O12 ADC11 DAC1 CapS-- Comp2 Timer3/4 CCP0/0/4/2 EUSART1 MSSP2 CWG2 CLC4 NCO1 PPS
16F18325 \100 08Kw 1024 I/O12 ADC11 DAC1 CapS-- Comp2 Timer3/4 CCP0/0/4/2 EUSART1 MSSP2 CWG2 CLC4 NCO1 PPS
16F1825 . \150 08Kw 1024 I/O12 ADC-8 DAC1 CapS-8 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP1 CWG- CLC- NCO-
16F1823 . \100 02Kw 0128 I/O12 ADC-8 DAC1 CapS-8 Comp2 Timer2/1 CCP1/0/0/1 EUSART1 MSSP1 CWG- CLC- NCO-
16F1705 . \100 08Kw 1024 I/O12 ADC-8 DAC1 CapS-- Comp2 Timer4/1 CCP0/0/2/2 EUSART1 MSSP1 COG1 CLC3 NCO- PPS
16F1503 . \080 02Kw 0128 I/O12 ADC-8 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/4 EUSART- MSSP1 CWG1 CLC2 NCO1
16F1455 . \140 08Kw 1024 I/O11 ADC-5 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/2 EUSART1 MSSP1 CWG1 CLC- NCO- USB
16F1454 . \130 08Kw 1024 I/O11 ADC-- DAC- CapS-- Comp- Timer2/1 CCP0/0/0/2 EUSART1 MSSP1 CWG- CLC- NCO- USB
[8pin] シリーズ最小構成
16F18313 \075 02Kw 0256 I/O-6 ADC-5 DAC1 CapS-- Comp1 Timer2/1 CCP0/0/2/2 EUSART1 MSSP1 CWG1 CLC2 NCO1 PPS
12F1840 . \120 04Kw 0256 I/O-6 ADC-4 DAC1 CapS-4 Comp1 Timer2/1 CCP0/1/0/1 EUSART1 MSSP1 CWG- CLC- NCO-
12F1822 . \100 02Kw 0128 I/O-6 ADC-4 DAC1 CapS-4 Comp1 Timer2/1 CCP0/1/0/1 EUSART1 MSSP1 CWG- CLC- NCO-
12F1612 . \080 02Kw 0256 I/O-6 ADC-4 DAC1 CapS-- Comp1 Timer4/1 CCP0/0/2/2 EUSART- MSSP- CWG1 CLC- NCO-
12F1501 . \070 01Kw 0064 I/O-6 ADC-4 DAC1 CapS-- Comp1 Timer2/1 CCP0/0/0/4 EUSART- MSSP- CWG1 CLC2 NCO1
表記 Timer[8bit]/[16bit],CCP[Full]/[Half]/[CCP]/[PWM],CapS=CapSense,Comp=Comparator
CWG=Complementary Waveform Gen.,CLC=Configurable Logic Cell
NCO=Numerically Controlled Oscillator,PPS=Peripheral Pin Select
足らない分の追記をお願いします。 ((((())))()())((())()()()()))))))))))(()()((()(()())))(())(())(((()()(()((((
)(()((()((())(())(()())())))(())(()(()()))()(()(()())))())((())))))))(((((((
()())())))))((())()(())))(())(()()()()(()()()(((()()()()()((()((())())((()))
)(()(()())(())()((()(())()()(((())))()()))()()((()()(()))())))())))(((()(()(
((((()))))))()))()(((((()))))()())((())()(()((((((())((())()(())(())(())))))
(((()))(())()))))(())()(())()((()))()()(())()))(()())((()(())()))())(()(((((
(()()(((()())))(())(())(()()))()()())(()))()(((()()))()))()(((()())))()(((()
)()()))((()(((((((())())(())))((())(((()()()(()((())()())))(()))())()())()))
)(())((((((()()(()))(((()())(()))((((())())))))))))()((()(()()()()(())()))()
))()())(((()))))()()()))())())()())()(())()))(()(()(()())(())(((()(()(()((((
))(((()())()(())(()())()(()))()))(()))())(()(((()))(()(())(((()(()())()()))(
()())))((()))(((())((())(())(((()()()()())))((()()))())(())((((()((())()))))
)))(())(()(())())()(()))))())(()))))))()))((())((((()((((()((())((())(((())(
(()))())((())(())(()()(((()(()()(()))))())())()))()()()()())()((()((()(()())
)))())(()())))(()((((()((()(((()(())))))(()(()))()()())()()(()(()(()(()))))(
()))())()(()())()())()))(())(())())))))))(()((()(()(((()(()())((((()()))((((
)))()(())(((()((()(((())))()))()()))((()))))((()))))))(())()(())(()(()((((((
)(((())))(()((()(((((()((())))))))()))(())(()))(())(()))()(((()))(())()))(((
()))(()(()(((()()())())))))(((()()((((()()())))(((())())))(()((()))))(())(()
()())()()))((((()())(()())())()(()((()(()(()(())(())(())((()))(()()()())))))
())((())(())((((()))(()))))(()()()(()())(()(()()())))()()))(())((()()(((()))
)(((((())(((()()()())()((((()()()()))()((((()()()(()(()))))))))()))))(())())
(((())()(((())(()())())))))))()(())))((())((((())))(())(())((())))()(()((()(
)))())(())(((()((()))))))((())(()(()()(()()(())()((()()))(())()()))(()(()()(
((()))(()((((((()((()))))(()))()(()(((())(())))())()))(()(()()()()())))()())
)()()))()))(())())((()(())(())))(((())(())(()()))()))()()((())((())((()(()((
)()(())))())))(()))))()())())())))(()(()(((((()))())(()((((())((()()((())(((
))()))(((())))(())()(()((()())())()(((()(()))()()))()()())())(((()(()))((()(
(((()))(()()))())(((()))())))()(((())((((((()())))))((((())()())())))(()()()
((()())))))(()(()))(((((())()(()(()()()))((()(()((())()))()())()())((()))())
))))((())((()())(())))()()()()((()))())()()))))())())()((())(((())(((()(((((
(()((()))()(())(((()())))()()))()()((((((()((()))(())((())))()()((()))()))))
))())()(((()(()))(())())()()))((()(((())(()()((()()((((())(())()))(()))())))
()())(())()())(()((())))()())())()(((((((())))(((((()(())())())(()())()())))
())))))))(())(())((()))))()(()(())())(()()((((()(()()((()((()(()))))())((()(
)))))()(()((())((()(((())(((()(()))())))(())((((()()(())))(())(())(((())))))
))))()()(((())(()(()))(()()(())()))())))(())(()()())()()(()()((())()())(((((
)())()))()((()())(()(())(()()))((())))))((()()((()(()))(()()(()(()(()(()()))
((())(())())(()())(()())))((()))(()(()()()(())))())((()()((())()()()(())())(
(((((((())()((())(()()((()()(((()(())))()(())()))))))()((())))))(()()()())))
))())()))((((())())(()()))())))))(((((()()))))((((((()(()())))()(())(())((((
((())((())((()))(()()))()))))(())((((()(()))()(()((()((((())()))((())))())))
()()())))))()))(())(()())((()()))(())(()))((()()))(())()())(((()(()((((()()(
))))())((())))())))()())()((()((()(()(()()())(()))()(())))((((((()())()((()(
))))(()()))(((())(()()(()((()())()())())))))(()(((()))(())()())(()(()(())(((
)()((())()((())()(())))()))(()(()()(())))()))((())(((()))))((((((()((()())))
))((()()()())(()(()()()()))()((()))))()()()))(()))(((()()(((()())))))()(((((
()(()()()(()((((()()()((())(())))))((())))))()()((())()))(())()(())()(()())(
((()()))()()()))(()((()((((())(()(())(()((((())(()))))()))())))()(())()))(()
(((((()((()))))()())))))((()))())(()((()((()))))())(())(((()(()((())))()))(( Bluetooth LE で1つの規格
要は省エネ版 picに興味が出来てusb工作をしたいのですが
過去スレみたらpicにはサンプルが沢山あるということですが
どこを見ればサンプルがあるのでしょうか?
開発環境はインストールしました Microchipのサイトに行って MLA で検索してみよう
Microchip Library for Applicationのページが出てくる。 Limited Edition
自動車だと限定仕様車は高級志向だけど、ソフトとかになると機能限定になる不思議 限られましたproduction と 限られましたfunctionsだろ MLAは自分の回路に合わせて改造するのが面倒。
CDCだったらMCCで出来るみたいなんだが、誰か上手く行った人いる? >>2
しばらく見ないうちに、ずいぶんスッキリしちゃったな・・・ オレのお薦め
迷ったらこれを買え
(秋月に売ってるPIC DIP限定)
●USBなし
PIC10F200 マゾ専用 最低スペック 50円
PIC10F322 最安 45円
PIC16F18313 8pin 75円
PIC16F18326 14pin 130円
PIC16F18346 20pin 160円
PIC32MM0064GPL028 28pin 3.3V 175円
●USBあり
PIC16F1455 14pin 140円
PIC16F1459 20pin 180円
PIC32MX230F064B 28pin OTG 3.3V 270円
PIC32MX270F256B-50 28pin OTG 3.3V 380円 新規が必ずしも最善ではない。
過去の資産が豊富な物の方が重要だという考えもある。
自分の価値観を命令口調で押し付ける奴が一番迷惑。 じゃあ過去の資産が豊富な物を書けよ
言ってることが支離滅裂 >>17,19
何が気に入らないの? あなたのお勧めを上げてみてよ >>19
じゃあ、じゃねえの。
大して役にも立たない自分の好みを押し付けるなと言ってるんだよ、馬鹿なのか? だいたい人それぞれ使う目的が違うのに
それも確かめずにお勧めって何だろうねw
ただの無責任かおせっかい。 >>24
悪いが俺は>>2の方がありがたい
公式のリンク「も」貼れならわかるが、価値がないから書くなは違うんじゃないか
自分の趣味を押し付けないでほしい >>26
>>24のリンク先を踏まえた上での>>2の利用価値を説明してくんない?
絶対秋月からしか買わない主義ってのは除いて。 >>2 こそ趣味押し付けだな
選択基準があるようにはまったく見えない
8bitしかないし >>2がイヤなら、見なければいいじゃん。
価値があると思う人だけ見ればいい。
ちょっと知ってるからって、上から目線が嫌い スレが新しく始まったと思ったらもう言い争いか…
PIC使いは品が無いというか民度が低いというか困ったチャンが多いな >>28
> 選択基準があるようにはまったく見えない
秋月扱い、8bit、20pin以下
選択基準あるじゃん つまり、おすすめでも何でもなく、
秋月で扱ってる8bit小ピンを列挙しただけど しただけど
しただけだけど
しただけと?
日本語難しいてよく聞くがこのことか >>29
同意です。
いつも揚げ足取りで結局結論が出ないんですよね(笑) しただけと
の打ち間違い
「買うなら これだ!」
の中身が、ただの秋月取り扱い製品の列挙でした 秋月取り扱いPICがすべて列挙されていてメンテもされるなら
多少の意味はあるだろうけど
全然そんな事もない >>16 はすべておすすめ
まず始めに検討すべき製品が上から下まで幅広く書いてある
コスパも良く、最新の開発環境にも対応している物のみ 「買うならこれだ」は言い過ぎなんじゃないの?
「ええやんそれぐらい」
「あっそ」
で済む話じゃないの?
スペックリストになっているのは良いのではない?間違いがあったら指摘するなり修正するなり。
「おすすめ」も「非おすすめ」も執拗なのはダメだろうけど、今回のは別に執拗なわけでもないし。 「秋月で販売すべき理想のラインナップ」も作って、秋月にお願いしようぜ。 DIP版が無いPICでお勧めはこれ
PIC32MM0256GPM028
安くて非常に高機能で高性能 PDIPどころかSOICもねえかぁ。
遠慮しとくわ。 1.27mmも0.65mmも手間は大して変わらんけど >PDIPどころかSOICもねえかぁ
たとえば、ブレッドボード(←ソルダレスかどうかに関わらず)に直挿しができるかどうかという点で
DIPとSOICの間には深〜い溝があるけれど、SOICとSSOPだとほとんど違いはないと俺も思う。
4方向に脚が出ているQFPだと、変換基板を使ってもソルダレスブレッドボードには使いにくくなりますね。 PDIPならピン間2本通る、SOICなら1本通る、SSOPではちょっと通すの厳しい。
ハンダ付けも気遣いが必要だし…。
なので「ほとんど違いはない」とは思いません。
しかも、苦労してまでPIC32MM0256GPM028を使う意味もない。
で、遠慮しとくという結論。 SMD使ってるのにピン間という概念を語るとか理解不能
裏とか内層に通せば邪魔者なく配線出来るのに SMD = 多層という決めつけの方が理解不能
しかもPDIPだSOICだという話の流れでいきなり…。
ま、いずれにしてもPIC32MM0256GPM028は使いませんよ。 安くて非常に高機能で高性能なPIC32MM0256GPM028がお勧め。
ただし、多層基板、リフローが前提w 表面実装の利点は活かせないけど、こんなんで使ってます。
ソルダレスブレッドボードで。
http://akizukidenshi.com/catalog/g/gP-02614/
50円余分にかかっちゃいますが
変換とかがいやなら素直に>>16にあるヤツを 48pinや64pinのQFPでもこういう形状なのがあればソルダレスでも使いやすいんですが、
残念ながら作らなければ無いですね。
http://akizukidenshi.com/catalog/g/gP-03781/ 「理解不能」って、傍から見れば
・経験不足
・想像力の欠如
・調べる能力の欠如
の現れに見えることがありますね。 PIC32MM0256GPM028が売れるとMicrochipからマージンでももらえるんだろw
いいじゃねえか言わせておけば。 その通り!
マージンがたっぷりとねwww
機能もコスパもワッパも非常に良いのは間違い無いんで
良い物を勧めるのは当然
わざわざ悪い物を勧める人もいるみたいだけど
そういう人はPICを衰退させたいのかな?
PIC32MXも設計が古くなったしPIC24は死んでるし
PIC32MKは規模が大きくてMMとは競合しないし
>>57 のオススメは?
と言っても絶対に書かないよね それで何を作るかは個人個人が私的に考えればいい話で、
たとえば「なーんだそんなものを作るならもっとシンプルなチップでも十分だろ」なんて嘲りをするバカのために、
自分が何を作るのかを開陳するアホウはなかなかおらんと思います。 何を作るかは個人で勝手に考えればいいが
おススメのチップは俺が決める >>53
>ただし、多層基板、リフローが前提w
実際は片面の変換基板にはんだごてで十分ですね。 自分でチップが決められない初心者という前提なら、作例が豊富な物ってのが必須条件で、
作例はあっても、コンパイラが違ったり開発環境が違ったりでは大変なので、環境が同じことも必須条件
そうすると使うチップはもう自動的に絞られてくる
なので、以前テンプレにおススメが載ってた時も、参考にしたことは一度も無かった 自分でチップが決められない初心者が参考にしなかった、ということはわかりました。 >>61
お前はオススメされたら必ずそれを使わなきゃと思うのか
オススメするのは勝手
それを使うのも使わないのも勝手 「『自分でチップが決められない初心者』ではない人」というのは、
(1)作りたいもの、やりたい実験、取り組みたいテーマがある。
取り組みたいテーマには、そのある型式のPICを使いたい、という「手段の目的化」もある。
(2)(1)に応じてチップを選ぶ。スペックで選ぶ。参考書に近いものを選ぶ。過去資産を使えるものを選ぶ。好きなものを選ぶ。様々な要因が入ってくるのもあり。
ということが、できる人だと思う。
真っ白な状態で、リストアップされたものから選ぶのは事実上困難だろね。 とりあえず8Bitではだいたいの機能は使いこなせるようになりました。
32を勉強したいのですが、どれがお勧めでしょうか?
できればDIPでお願いします。 以下すべて28pin DIP版
●PIC32MM0064GPL028
コアが新しい (MIPS microAptiv 25MHz)
ペリフェラルが下の2個に比べると少ない
安い
●PIC32MX230F064B
コアが古い (MIPS M4K 40MHz)
ペリフェラルが充実
MIPS32MX2X0 28pinの中ではエラッタが一番少ない
●PIC32MX270F256B-50
3個の中では最速 (MIPS M4K 50MHz)
ペリフェラルが充実 PIC32MXはHarmonyが使える (MCCも)
PIC32MMはMCCのみ
規模的は
MM < MZ < MK < MZ 8bitと32bitの主な違い
データシートが機能別に
UARTやSPIに8〜32バイトのFIFO搭載(CPUの負荷が下がる)
割り込みが要因別に
レジスタに CLR SET INV の機能がつく
ROMとRAMが同一のフラットなアドレス空間になる (バンク切り替え不要)
関数コール用スタックがソフトウェアになる (コール数の制限がなくなる)
ほとんどの命令が1クロックで動作 (8bitは4クロック) pic32MX250のconfig設定について
外部発振器で12Mhzのクロックを提供しています
システムクロックを40Mhz(当該PICの最大値)
USBのクロックを48Mhzに設定したいと考えています
configについて、
#pragma config FPLLIDIV = DIV_3 // PLL Input Divider (3x Divider)
#pragma config FPLLMUL = MUL_20 // PLL Multiplier (20x Multiplier)
#pragma config UPLLIDIV = DIV_2 // USB PLL Input Divider (2x Divider)
#pragma config FPLLODIV = DIV_2 // System PLL Output Clock Divider (PLL Divide by 2)
#pragma config FPBDIV = DIV_1 // Peripheral Clock Divisor (Pb_Clk is Sys_Clk/1)
と設定しました
SYSTEMクロックはsystem=12/3*20/2で40Mhzとなると思いますが、
USB48Mhzのクロックはどう設定すればよいのでしょうか?
システムクロックを32Mhzにしなければできないのでしょうか? >>66
なるべく入手性がよく互換品が多い、ってのは重要視したいんだけど、なかなか・・・・ >>73
×24と÷2が決まってて48MHzにしなきゃいけないので、
USB PLLに入る前に4MHzにしておかないとダメ。
12MHzなら>>73の言うように÷3しておかないと。 PIC32MX250はメモリ書き込み時の割り込みで2度書かれるというひどいエラッタがあるので注意 こんなにあるのかよ
結構な確率で何かにぶち当たりそう PIC32MX230
PIC32MX270
はヤバイのは直ってる
エラッタシートを見て設計すれば大丈夫 210, 220, 250はとても出荷していいレベルの製品じゃない 8bitや16bitもエラッタは多い
書いてないのもあるんで注意 16F1823の電源入切を繰り返してたら動かなくなってしまった…
Eraseしてプログラム再書込したらまた使えるようになったけど
PICのフラッシュはストレスに弱いんかな? >>88
そんな事で動かなくなったら、世界中の組み込みPICが大騒ぎになってるはず。 バーストエラーだと思ってクライアントには内緒でこっそり交換してるんだろ >>88
あなたの回路が普通より多くのストレスを発生させているんです 電源って案外怖くて、PICに限らず、
(1)電源電圧の上昇が遅すぎても正常に動作しない。
(2)電源のON時OFF時のチャタリングでおかしくなることも
(3)電源器によっては、ON時、OFF時に電圧が異常に上がったり下がったりすることがある。
(1)はプログラムが暴走したりする(ぐらいで済むことが殆どかな)
(2)SRAMやEEPROMにバックアップされたデータがおかしくなったり、プログラムが暴走したり
(3)(2)に加えてプログラムメモリまで書き換わったり。
ACアダプタの元(100V)で抜き差しすると、(3)に該当するものがありました。 電源入切でプログラムが化けが起きたのは、秋月モジュールを組み合わせて作った大気圧LCD表示回路
https://dl1.getuploader.com/g/mcnc/451/baromter.png
電源を切るとLCDチャージポンプ残留電荷によりICSPピン電位がVDDより高くなってしまったのと
I2Cプルアップ抵抗を手抜きして内部弱プルアップを使ったせいかもしれない 初心者と言っている奴に限って、
アセンブラ、ccsを未だに使うロートルだったりする >>94
回路を見る限りはマイクロファラドオーダーの電源パスコンは付けておられないのですね。
電解スイッチのチャタリングはガッツリはいってきそうです。なんか怖いかも。 msオーダーのチャタリングはコンデンサで消すのは無理
パワーアップタイマーとかブラウンアウトリセットとかその辺の設定は大丈夫なのかな?
数十uFオーダーのコンデンサはもちろんあった方が良いと思う 4pinはデジタル入力専用の端子なのにノンコネなのが気になる
内部プルアップ? >>96
大容量電解コン付けると突入電流による接点損傷の恐れがあるので、コンデンサはいつもこのくらいです
>>98
未使用ピンは入力&内部弱プルアップ処理してます。config各機能も全てOFFしています
__CONFIG( FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF );
__CONFIG( WRT_OFF & PLLEN_OFF & BORV_LO & LVP_OFF );
OPTION_REG =0b01010111; // Weak Pull-up Enable
ANSELA = 0b000000;TRISA = 0b101000;WPUA = 0b111111;
とりあえずRA0/RA1 ⇔ RC4/RC5を入れ替えたらいまのところ不具合再現しなくなりました。
書込時に接続するRA0/RA1/RA3にストレスがかかるような設計は避けた方が無難かと思われます。 ん?
ブラウンアウトリセットとパワーアップタイマーは入れるべきでは? 書いたデータが化けたんじゃなくて
正しく書けてなかったんじゃないの?
はじめは動いてたの? >>99
電源に数十μのコンデンサつけて突入で接点が荒れるのを気にするのはもとから電源供給回路の設計がおかしいのでは?
マイコン回路全体のリップルやサージの許容は負荷のonoff時含め計算で検討してありますか? >>102
負荷の誘導性容量性を考慮してPICマイコンまわりの電源設計するやつなんか殆どいないんじゃね?
そもそも数mA消費の液晶を単4電池駆動するくらいでリップルが生じるとも思えん… >>99
どんな接点でどんな機能なのかを教えて欲しいな
まさか電源のトグルスイッチですとかじゃあるまいな Harmony v2.0xってどうよ? 使っているヤシいる? PICにこんな高機能を求めてないんだよなぁ>MPLAB Harmony だからそれ実現できるPIC32にしか提供してない
追加されるとしてもSAMだろうね >>109
thx
Harmony v2.0x 使ってみた。 らくちんデツネ。
最初は、USBだけ使って、他は勝手知ったるplibでやろうとしたが、結局、plib直接は一部だけになったw
ステートマシンとポインターとカプセル化を駆使した良いフレームデツネ。 なんだ2.0x正式リリースかと思ったよ、いつまでβ版なんだよはよ出せや 内蔵発振 16MHz と セラミックレゾネータ 16Mhzでジッタは、目に見えて差があるのかしら?
精度じゃなくて、ジッタね。 あなたが私にくれたもの キリンがさかだちしたピアス お爺ぃちゃんたち、もっとヤングに分かるナウいボケをプリーズ。 秋月電子でAE-SIT2001B-12MHzというものを入手して
PICの外部発振器として使用しました
使用されているチップはSit2001Bというもので発振の停止と開始を行う端子があり、
OEピンがあるのですが、データシートを見ると、
H[1]: specified frequency output
L: output is high impedance. Only output driver is disabled.
となっています。
Hにすると発振してLだと停止と思うのですが、
実際はLで発振でHで停止します
使用に当たりなにか考慮が足りないのでしょうか? >>122
Lにすると内部の発振は停止せず出力ドライバがハイインピーダンスになって出力されなくなるだけと書いてあるのだ。 >>123
でも>>122の症状はHだと停止してるんですよね。
なんだろう。 >>122
>>125さんがおっしゃってるのは図のようなことかも。俺もこれは可能性があると思いました。
って、図のようなことはないですよね?
>>126と思ったのですが、OEモードの設定だとプルアップがつかないみたい。違うな… H時は10kでプルアップしており
L時はGNDに落とすようにしています >>128
実際にテスターで OE ピンの電圧 (黒リードは発振器のGND端子)を
測定したら何Vになのますか? 遅くなりましたが計測しました
結果…
正常でした
H:出力enable
L:出力disable
でした
なぜこんな間違いをしたかですが、
秋月で基板用トグルスイッチ(2MD1-T2-B4-M2-Q-N)というものでONOFFを切り替えましたが、
ONOFFのパターンが逆で考えてました。
ピン1-2-3で2-3側に倒すと1-2が接触するようなスイッチでした・・・
失礼しました >>132
お疲れさん。
たいていのトグルスイッチがそういう構造になってます。
上から目線になって申しわけありませんが、勉強になりましたね。
自己解決したレポよりずっといいな
2時間調べても解決できないトラブルの原因はだいたい非常に下らん低レベルなところにある
探し物も含めて >>132
解決おめ
スイッチの出力ではまるのは良くあること。多接点のスライドスイッチとか嘘っていうのがあるからな
思い込みでアートワーク作って、ジャンパーですめばいいが、
スイッチやリレーが文字通り芸術的に実装することもよくあること スイッチは中身がわかってないと不可解なことがありますね。
図のような回路で「ときどきマイコンにリセットがかかっちゃう」って相談を受けたことがあります。
スイッチのセンターの線をマイコンで読むだけではなく、アナログ回路にも使っていてH/Lをしっかりドライブしたかったそうですが。
トグルスイッチならほぼ確実に大丈夫だったかな。
>>137
>トグルスイッチならほぼ確実に大丈夫だったかな。
Why do you think so? >>137
何故、この回路だと「時々リセットがかかる」のか?
どうやって解決したのか?
考えても分りません。 気になったので調べてみたら、
スライドSWにもロータリSWのようにショートタイプ、ノンショートタイプがある。
(たとえば日本開閉器のSS-12はショートタイプ)
ショートタイプだと、 141 が言うように、この回路ではSW操作時に一瞬、電源がショートする。
トグルSWだと構造上ショートタイプが存在しないのでは。 >>142
トグルでもショートタイプはあるよ。弱電用の小さいやつは少ないけど。 スライドスイッチは、ショートタイプ(Make before Break)、ノンショートタイプ(Break before Make)、
そして厄介なことにはっきりしないものの3種類があります。
はっきりしないものにも2種類あって、
・データシートに書いていないだけで、明らかにどちらかの動作をするもの
・作りが微妙でショートしたりしなかったり
トグルスイッチに比べて安いことが多いので、実験用にジャンクっぽいものを
まとめ買いしたことがあったのですが、素性のわからないものは使い方に注意が必要ですね。
>>143
>>134に描いたようなものであればノンショートなのですが、一見トグルのようなレバーの動きで、
実は中身がロータリースイッチみたいなのを見たことがあります。これはショートタイプでした。
それをトグルスイッチと言って良いものか怪しいですけど。
そういう迷いもちょっとあって、
>トグルスイッチなら「ほぼ」確実に大丈夫だったかな。
と逃げておきました。
>>144
スライドスイッチは修理などをするときに形状だけでも合えば使わざることをえないので、
他の特性は2の次になったりして、テストで煙出たりして本当に困ります。
トグルのショートスイッチは、プロ向けのオーディオ機器にはよく使われてますね。
断がないのでノイズや接点の荒れが出にくいからだと思いました。
ロータリーも同じ理由じゃなかったかな。 弱プルアップを有効にして、プラス側の線は切っちゃえば? >>146
>>137のケースでは、スイッチのセンターをマイコンのINPUTで読むだけでなくて、ローインピーダンスのH/Lを期待する別の回路にも使っていました。
マイコンで読むだけならプルアップ+スイッチで大半の用途で大丈夫ですね。
そのときの対策は「スイッチをトグルに置き換える」でした。実験のバラックなのでそれで問題の回避はできました。
>>145のような修理のケースが面倒そうです。 AVRはPICと一緒になったらしいですが、
開発環境も一緒になるのでしょうか?
だとしたら、嬉しい 経営が一緒になっただけで
開発部隊は分かれたままや すでに営業販売も一体だろう
次に開発生産も一体化するだろう。
いつまでも一体化しないのは… おまえらw MICRELのICのデータシートを見ると、すでにMIcrochipの様式に変わってるものもある。
AVRも時間の問題。 AVRのドキュメントがPICなみに日本語化されるとちょっとうれしい
AVRのデバッガにPICKIT使えるとだいぶうれしい
PIC(8)にGCC移植されるともっとうれしい pic32mx270を購入してMLA入れてみたけど
サンプルがなくて2013年のMLAにはサンプルがあったのでいれてみたけど
コンパイルが通らない
でpic32ならハーモニーかなと入れてみたけど
これもコンパイルが通らない
うーん疲れた MLAのPIC32のサポートはMMシリーズだけだよ
MX以上はHarmony 使ってねって話 warning: (373) implicit signed to unsigned conversion
やたらと出るな xc8、やりすぎじゃないかこれ
こんなんでも出るぞ↓
static u8 a=0, b=1, c=2;
a = b + c;
a = (u8)(b + c); <- いちいち こんな書き方しなきゃならんわけ?
本家のForamでも苦情が出てたけど
未だそのままだから、どうも直す気無いみたいだな >>158
で、当方も似たようなプロジェクトの作りかけがあるのですが、
手っ取り早いのはharmonyで型枠になるようなコードを
発生させてから
MLAのロジックを移植していくという手法と思います。
難しいかもしれませんが頑張りましょう DOS窓でコマンドラインコンパイルの方がマシじゃね? >>164
? 同じだよ。 むしろ、Java環境としては、Ubuntuの方が安定している。 MXやMZを基板に実装して問題なく動いてるけどなぁ >>170
そりゃーな 千円ぐらいで基板が作れる時代だもの。 KiCAD使えるのが常識になっちまった。 >>172
Elecrowでも良いけど秋月で窓口やってくれると便利かもね >>172
スイッチサイエンスでもいいんじゃないかな
でも結構簡単に海外に頼めるよ (きっとクレジットカード無い人なんだよ察してあげて) クレカなくてもVプリカを使って払うか
VプリカをPaypalに登録して払うこともできるよ >>172
そういえば昔、ラジオデパートのマルカってパーツ屋が
回路図からPCB用のフィルムを作ってくれてたな。
後はサンハヤトの感光剤塗布の基板を使って自作してもいいし、
専門のPCB屋に頼んでもいい。 回路図からってことはパターン図作成もやってくれるのか
なんぼやったんか知らんけど儲かるのか心配になるわ >>178
大昔の事ではっきりと記憶していないけど、アートワーク込みだったと思う。
1回しか頼まなかったけど、その理由は、多分、値段と言うよりもパターンの引き回しが
不満だったのかな?
(製作途中の「これで進めていいですか?」は無かった) >>179
それってもしかしたら、透明樹脂フィルムにランドのインレタとか黒テープで作られたものだったんでしょうか。(しかも原寸)
おれが就職した頃にはまだ会社でそんな作業をしてました。(倍寸だったけど)
それともCADのプリント出力? PIC18F14K50でどなたかご存知でしたら教えて頂けないでしょうか。
外部割り込みINT0〜2,ポートチェンジ割り込みRA0,RA1,RA4,RA5,RB4〜RB7にスイッチを
付けて、どれかのスイッチを押したらSLEEPから抜けるようにしようとしています。
RA0,RA1,INT0〜INT2は外部にプルアップ、他は内部プルアップにしています。
RA3は内部プルアップでポートチェンジ割り込み禁止で未使用です。RC3〜RC7はすべて
出力です。この状態でスリープさせず、割り込み制御だけの状態であれば問題なく動作
するのですが、スリープ命令を入れるとスリープで停止せず、すぐ抜けてしまいます。
ポートの空読み、フラグのクリア等は一通りやっています。
原因を絞って行った結果、RA5,RB4のポートチェンジ割り込み設定を以下のように
無効にすると問題なくスリープします。
IOCAbits.IOCA5 = 0;
IOCBbits.IOCB4 = 0;
周辺モジュールが動作しているのでは無いかと色々フラグクリアや、モジュール無効
を試しましたが、解決せず、行き詰まってしまいました。
以下のサイトでPIC18F14K50で検索すると似た内容が有るのですが若干異なるようで
も有ります。
http://airvariable.bbs.fc2.com/
他の同ピン数のマイコンより割り込みで使用出来るピンが多いため採用してみました
がハマってしまいました。基板おこしてしまった・・・。
どなたか情報お持ちの方、御教授して頂けると助かります。 問題が発生する一番単純な形にして、
回路図とソースをアップ SLEEPの後にはNOP入れるんだったかな?理由は忘れた。 ↓のErrata 絡みだと、考えるだけ無駄だと思うぞ
PIC18(L)F1XK50 Silicon Errata and Data Sheet Clarification
http://ww1.microchip.com/downloads/en/DeviceDoc/80000411L.pdf
7. Module: IOC (Interrupt-on-Change)
7.1 IOC (Interrupt-on-Change) False Wake-up
When IOC is enabled for multiple pins to wake-up
the processor from Sleep, invalid interrupts or wake-ups may occur.
Work around
Use only one pin as IOC with Sleep. アーキテクチャ コマンド ステートメント エラッタを学んでから使う
人は試されている PICのエラッタを見ずに基板を起こすとか
チャレンジャーだな というか、どんな回路構成だとこんなエラッタ作りこめるんだろうw エラッタってのはそういうもんだろ
ソフトのバグと同じ
機能に影響があるのに直さないで
データシートもスペックも宣伝文句も変えずに
そのまま売っちゃうのが問題 使い慣れた熟練者はエラッタなんてなんでもない日常
初心者には大きな壁
今流行りの「既得権益」ていうやつですかい >>190
それはPIC熟練者限定だな
他はPICほどひどくない チップのエラッタではなく
仕様、データシートのエラッタと考えるのです 皆様有難うございます。>>181です。
諦めて、RA3のポートチェンジ割り込みは大丈夫だったため、
ダイオード2個使用し、割り込みが入るようにしました。
具体的には
・RA3にアノードを2本接続
・RA5,RB4にカソードをそれぞれ接続。
とりあえず、これで凌ぎます。 >>196
WhiteDogのタイマでは駄目ですか? 初めまして、PIC初心者です。車の仕事でPICアナログ出力を担当する事になりました。
OBD2からエンジン回転をELM327(Bluetooth版)で010CをATコマンドで送信し
HC-05(これでいいのか?)受け取った回転数をアナログ出力しようと考えています。
(4096rpm/4.096Vとか!)
ダメダメおやじさんのHPで動かそうとして中々動作せず、基盤ショートさせて諦め
OBD2コマンドを吐き出すELM327を購入してPICで通信しようと考えました。(安直)
アナログ出力は、MCP4822を使って0〜4.096V出力はmikrocで実現出来ました。
ELM327(Bluetooth版)とHC-05でペアリングしてUART通信させればELM327から
エンジン回転受信出来るのでしょうか?(PCでのteratermは動作済)
よろしくお願いします。 >>204
仕事なら上司に聞きなよ
elm327のBluetoothとか、暗電流大丈夫なの?
自分もCAN内蔵のPICで回転数とか取ってるけど、いい感じにスリープモードに落とすのに苦労した >>204
車の仕事でこんなところに質問した時点でクビ確定 ご存知の方教えて欲しいです。
12F1822ではうまく行きます。
SleepからPort変化割り込みで復帰プログラムですが、
12F1822のコードをコピーしても12F1501ではうまく動きません。
Sleepから復帰しません。
正確には一度復帰しSleepに入ると、Portを変化させても復帰しません。
12F1822では、2回目以降のSleepに入ってもPort変化毎に復帰します。
while()内にSleepがあります。復帰したら一度だけwhile()内を実行しSleepに入るだけの単純なものです。
コンパイラはXC8です。 12FL1822ですがPICKIT2で書き込む方法は有るでしょうか?
12F1822との違いを確認したく購入したのですが書き込めなくて困っています。
アドバイスよろしくお願いいたします。 ちゃんと型番指定してる?
FLとFは区別が必要だったと思う。 えっと、結局のところ何だったの?
今のところ>>216がアホだということしか分からんね。 PICのリセットピンを、直接5Vに繋がずに、抵抗を入れているものがありました。
なぜ抵抗を入れるのですが?
また、抵抗の他にコンデンサがGNDと繋がっているものもあります。
さらに違う回路では、5V----抵抗10k----ダイオード----MCLRピン というものもあります。
どんな目的があるのでしょうか? ノイズ取りのコンデンサ、逆流防止でしょうか? >>223
リセットピンにRCでつなぐのは、電源ON時にVDDがチャタリングを起こすような場合でも
ディレイをかけて確実にリセット解除できるようにするため
ダイオードは電源OFF時にコンデンサに溜まった電荷を素早く抜いてリセット端子がVDD
よりも過電圧とならないようにするためと、一旦OFFしてすぐにONする場合でもリセットが
かかるようにするため
Rだけ繋ぐのは浮遊容量によるRCディレイを期待しているのと推測 >>224
ダイオードの接続が違うから、その解説は間違いと思うけど パワーアップタイマーがあるので、特にCRはいらないと思う。 その接続とやらが、正しく表現されているなら
MCLRピンには、書き込む時にVppとして13Vが加わりますので、
ダイオードにより、VccにVppが影響無いようにします。 843 名前:774ワット発電中さん[] 投稿日:2017/10/08(日) 06:26:07.09 ID:k9jHk/DL
質問します。
PICのリセットピン(MCLR)の接続ですが、以前に以下のような接続を見ました。
+5V----10k---(A)ダイオード(K)----(a)----MCLRピン。
(a)-----ICSP用の6pinコネクタ
この回路接続で問題ないでしょうか?
ICSP端子に何も繋がない状態だと、+5V----10k----(A)D(K)----MLRの、
MCLRの電圧が、ダイオードのおかげで、Hにならないのではと思うのです。 ICSPの説明図ではダイオードのアノードとグランド間に0.1uFのコンデンサが
付いていて、Vppの立ち上がりを妨げないようにショットキーダイオードか
470Ωを入れるようになってたね。
ダイオードが入っていても0.8VddならHレベルは足りると思うけど、コンデ
ンサを付けないならダイオードは要らないね。
Vppが10kΩ経由でVddに漏れるという心配をするかもしれないけど、PICkit
の内部ではVddとグランド間に低抵抗が入っているのでその心配はない。
ICSPの説明図の10kΩと0.1uFではパワーオンリセットとしては時間が短す
ぎるし、MCLRが強制内部プルアップになる品種ではMCLRのほうが先に立ち
上がってしまうし、内部プルアップがなければダイオードの漏れ電流に
頼るしかないし、よく分からない回路だった。 >ダイオードの漏れ電流に 頼るしかないし、よく分からない回路だった。
まるで
「ダイオードがオンしていないので、HでもないしLでもない気がするな」
と同じようなことを言ってる。
https://rio2016.5ch.net/test/read.cgi/denki/1501157324/845 でも>>230は、その質問に、的確に回答出来ないんでしょ。 まさかダイオードが、オンしているとでも言うのか?
シミュレーションして確認してから書き込んだ方がいいな >>233
「ダイオードがオン」って感覚から離れないとダメだと思う。
そのせいで、この回路では、あたかもダイオードがスイッチオフの状態に見えてしまって、MCLRがフローティングになっているように見えるんじゃないでしょうか。
シミュレーション環境があるならシミュレーションしてみてください。
そもそもなんでそんなとこにダイオード入れてんだっけ... >>235
本当はダイオードなんて要らないんだけど、
Cがあるために、書き込み器のリセットが思うようにいかないからでしょう。
あるいは、5V側の消費が、大変少ないとか。 >>237
オンかオフかで単純化すると間違ってしまいます。
オンかオフかで考えて良い場合もありますが、いつもそうじゃありません。
まずはそこから自由になる方が良いと思いますよ。
ぜひこんな回路でシミュレーションしてみてください。
シミュレーション前に予想するべきです。
「ダイオードがOFF」という考え方だったら、10MΩでプルダウンしているから0Vでしょうか?
でもそれっておかしいですね。
※の抵抗とコンデンサは、C-MOS ICの入力の代わりです。
その抵抗値とコンデンサの値がC-MOS ICの入力の代わりとして不適当だと思うなら、
別の値や回路で試してみていただいて良いのですが、まずは、この回路でシミュレーションしてください。
ダイオードがOFFという考え方が変わるはずです。
なお、念のため、ですが、LTspiceの場合、10MΩは、10meg か 10000k と設定しないといけません。
10Mとすると、10ミリΩになります。
32MXではI2Cできたのに
32MZでI2Cできないんだけどなんでなん?
I2C3でうんともすんともいわなかったからI2C1にかえたらスタートビットだけ出るような感じになった
なんでなの? デバッグにより自己解決
すんまそ
I2C1CONbits.ON = 1;のあとにすぐ I2C1CON.ONを操作してなんかエラー出てたみたい >>238
10kΩとダイオードの間とグランド間にコンデンサがつながっている
ときに、コンデンサが充電前の0VのときMCLRがフローティングという
話なんだけど。
MCLRが内部プルアップされてればコンデンサに関係なくMCLRがHレベル
になってしまうし、内部プルアップされてなければダイオードの漏れ
電流とMCLRの漏れ電流のどちらが強いかということになる。
MCLRの漏れ電流はシンクかソースか分からない。 >>241
>10kΩとダイオードの間とグランド間にコンデンサがつながっている
>ときに、コンデンサが充電前の0VのときMCLRがフローティングという
>話なんだけど。
これまで描いてきた図と違う話ですか? >>241
その回路ですが、MCLRをリセットにする目的としては謎です。
書かれているようにRC回路でLに引っ張れません。
こんな経緯でしょうかね…
MCLRを禁止できないタイプで内部のパワーオンリセットを使うことが前提。
(1)内部プルアップはある。でもオープンにするのは不安。
(2)10kΩとかの低抵抗でプルアップしよう。でもノイズでリセットがかかったら嫌だからコンデンサも付けておこう。
(3)ICSPでコンデンサがじゃまになる。
(4)ダイオードを付けておこう。
>>245
そんなところだと思うけど、元になったと思われるマイクロチップの
資料をみてもコンデンサの目的ははっきりしない。
マイクロチップの資料が先にあって、コンデンサを省いたがダイオード
が取り残された、かな。
ダイオードの代わりに470Ωを入れる例があって、これならすっきり
するんだけど。
https://i.imgur.com/L6nHx7f.jpg >>238
電線で0Ωの時は、10kとCの並列合成抵抗のインピーダンス、
ダイオードが入ると、ダイオードの逆電流の逆数の抵抗値に上昇してしまい、
MCLRのネットのインピーダンスが高くなって、ノイズに弱くなりませんか? >>247
「ここは何Vかな」のポイントがとても高い電圧になっているときには、まったくもって
書かれている通りだと思います。
で、ノイズに弱くなるというのは、つまりMCLRが反応する、ということですね。
その電圧のときのインピーダンスはどんなものでしょ。 >>248に補足
>>247をよく読んだら、
>ダイオードの逆電流の逆数の抵抗値に上昇し
ここでは順電流ですよね… >>249
いや、MCLRから見れば、逆方向もあるよ >>250
>>247さんが書いているように、これはノイズに弱くなるのでは、という観点での話ですが、
ダイオードに逆バイアスがかかるような形でノイズに弱くなるとしたら、どんなふうに弱くなるシナリオなんでしょうか。 Dは高電圧書き込みモードでVPPからVDDに逆流するのを阻止するんじゃない?
Cはパワーオン時MCLRをLにする。 >>252
>Cはパワーオン時MCLRをLにする。
Cが話題になっているのは、>>246の Fig 28-1 のMCLRにつながっている回路なわけですが、(>>245の図の左端でもあります)
この回路で、Cがパワーオン時にMCLRをLにできるのかな? ってことです。
>>252さんの見立てではできそうですか? できないと思います。
Cが充電されるまでの期間、ダイオードはoffになり、RESET線ははいインピーダンスになります。 たしかに。
その期間はリセットコンディションが不安定になりますね。 R+C+D のリセット回路は、秋月のH8基板にも使われているよね 通常、DiはCの電源オフ時の放電用に入れる。
(秋月のH8ボードも同じ) VDD=5.0V、Vf=0.6V としたら、
Cをチャージしている間、 Dのアノード側が0.6Vまでは、カソード側(MCLR)はオープン相当、
0..6Vを超え5Vまでは後は、カソード側が 0V → 4.4V へ遷移する。
なのでMCLRは電源ONから Z->L->Hと遷移するとおもう。 あ?。書き間違えた。
0..6Vを超え5Vまでは後は
↓
アノード側が0.6Vを超え5Vまでは MCLRの初期電位が0Vとかならそういう経過をたどると思うが
初期電位がいきなり5Vとかなら、最後まで Z じゃないかい?
根拠は無いけど、なにせ初期値=不定だからね 電源投入に引っ張られてポンと持ち上がるかも知らん 結局、ダイオード入れるのは、
インピーダンスが上がってしまい、良くないのでしょうか?
ノイズに弱くなるから、5Vから10kの抵抗だけで良いのでしょうか? >>262
>>246の Fig 28-1 のMCLRにつながっている回路のようなコンデンサが入っている状態なら
・ダイオードでコンデンサの意味がなくなっている。
・>>254さんの指摘の通り、コンデンサの電圧-ダイオードVFがMCLRのスレッシュより高くなるまではリセットコンディションが不定。
といえます。
コンデンサがない>>234のような場合は、抵抗とダイオードの外付け回路は、
VCCが5Vのときは、MCLRの電圧がノイズで下がりにくいようにするためのプルアップとして働きます。
ですが、ダイオードが必要なのは、
(1)VPPがかかったときにVCCに流れ込む電流が回路の消費電流よりも大きい。
(2)PICKIT3のように、電源に並列に低抵抗が入っていない何かでICSPを行う。
のAND条件に限られるように思います。 コンデンサを付けているケースならダイオードの代わりに抵抗にしておいて、
ICSPからのVPPの制御を邪魔しないようにしておけば良いはず。 >>263
PICkit3でもVdd-Vss間に1kΩ(R58)が入っているので問題ないでしょう。 >>265
すみません。>>263の書き方は適切ではありませんでした。
>PICKIT3のように、電源に並列に低抵抗が入っていない何かでICSPを行う。
言いたかったのは、
「PICKIT3は電源に並列に低抵抗が入っています。これと違って低抵抗が入っていない別の何かでICSPを行う場合」
でした。
「○○のように□□ないものでは」は〇〇がよほど既知のものでないと逆に解釈されますね。気をつけます。
「ダイヤモンドのように硬くないものはこのナイフで傷がつく」
「豆腐のように硬くないものだと頭をぶつけても怪我はしない」 pic32mx でUSBを使用するのに
VBUSは3.3Vではダメなのですかね
1459だと3.3V電源だけで良いのですが ん?USBコネクタのVBUSは3.3Vレギュレータに突っ込んでそれ以外使わないが? と言うことは
USBコネクタからの給電をレギュレタで3.3Vに降下して
pic32mxに供給する場合5vは不要と言うことでしょうか?
picがpcに認識されず??状態です ならファームが動いてないって事だから
snoopy(は古いか)辺りのUSBロガーでPICリセット後の
やりとりをモニターした方がいいと思う ロガーで認識させる以前の状態でして
VID/PIDが登録すらされていない状態です
色々設定してみましたが、一度も上手く行ってないです
環境
IC PC32M270F256
X IDE 4.01
harmony 2.06
電源周りは3.3Vですが、VBUSだけ5Vにしてます
Lチカなどは動作しており、故障はない様子です
ICも予備に変えてみました。
D+D-の導通試験もしてみました
クロックは外部発信器の12Mhzを使用しています。
USBはharmonyでUSE USB STACKにチェックを入れてendPointなど少し変更してるだけです
全く反応がないのでUSBの48Mhzクロックの設定がおかしいのかな?
と思うのですが、もしよろしければ意見をいただければありがたいです
下記が設定内容になり、main()以外はすべてhamonyが出力したソースを使用しています
USB定義
http://imepic.jp/20171022/735960
ClockDiagram
http://imepic.jp/20171022/726860 出先なんで不確かですがUPLLEN=OFFで良かったかなぁ… 32MZでの質問です
ADCでANENをONにしてアナログおよびバイアス回路を ON にしているのですが
なぜかWKRDY復帰ステータスビットが1になりません
なにかやりかたがあるのでしょうか? やはり自分の32MXのプロジェクトはUPLLEN=ONでした。
OFFだと12MがUSBモジュールに使われるので、低すぎるのではないでしょうか。 >>276
その辺りも変更してみましたが、うまく動作しませんでした
フォーラムのこの人と同じ様な感じでした
http://www.microchip.com/forums/m985321.aspx
よろしければ、お使いのharmonyのverを教えていただけませんでしょうか? 自己解決しました
harmonyだとコネクションの実体は自分で実装しなきゃ
うんともすんとも言わないのですね
mccよりハードル高いのですが
取りあえず認識できました おめでとう 各イベントにブレーク張って待つしかないんじゃないとか書く所でしたが よかったですね MicrochipDirectは今USD100以上で送料無料だと
関税USD20入れてちょうど30000くらいか MPLAB無印なら今のうちに3を買っておいたほうがいいのかな モジュラーのそのへんのケーブルって6ピンがフルに接続されているものでしたっけ。
これがRJ45でイーサネットのケーブルが使えるということなら、モノを選べば必要な
ツイストまでほぼ確実に入手できそうですが。 RJ11の6芯3Pはホームセンターにはなかなか無いで
線はツイストしてないのかな電話線って?
RJ45だと間違えて接続する可能性あるからなんだろうけど
日本だと入手しにくい部類だわな
愛用ICD3は6PINコネクタ(2.54mmピッチ)にし直して使ってる 電気屋とかでよく見かけるのは6極-2芯か4芯だよね
4芯だとPin1とPin6がNCになるからICDからVppとLVPが供給できないと思われ。
PICKit3しか持ってないからよく知らんけど MPLABXもそろそろまともになったかなと日本語サイト見たら
http://www.microchip.com/ja/mplab/mplab-x-ide
「ダウンロード」のとこは空っぽ、「アーカイブのダウンロード」から最新を落としたら2年前に落としたのより古くてやる気なくした。
英語サイトにはあったけどさあ…
http://www.microchip.com/mplab/mplab-x-ide RJ45の誤接続といえばルーターのシリアルコンソールで
RJ45にRS-232Cの信号流すやつあって怖い >>293
110のパッチ+RJ45で電話もデータも相乗りとかしてたから、この程度で怖いとか感じないな。 >RJ45にRS-232Cの信号流すやつあって怖い
なんで怖いんだっけ。 >>295
1つの機械に同じコネクタで差動2.5Vの信号と±15Vの信号が同居してるの
誤接続したら壊れそうで怖くね?
電話の48Vには負けるが >>296
昔の出来事を思い出した。
立ち会い検査の前の日に、電源コネクタの誤挿入が原因で、
絶縁デジタルI/Oボードの5V回路に24Vかけてしまい、
I/Oボード数枚を全滅させたことがある。
上司に「そもそもコネクタが共通なのが問題だ」とえらく怒られたが、
泊まり込みの部品交換作業につきあってくれた。
それ以来、コネクタのフェイル・セーフやフール・プルーフには気をつけている。 >>297
それは大変でしたね。
でも、コネクタを選定する時にピン数変えますよ。
あるいは、同じピン数のコネクタは近くに置かないようにします。
あるいは、配線を結束して、目的のコネクタにしか届かないようにするとか。
失敗したことのある人しか気づかない対策だけどね >同じピン数のコネクタは近くに置かないようにします。
ヒロセのHIF3シリーズの同一コネクタをどうしても使わなければいけない状況になって
誤挿入を防ぐために、レセプタクル側に極性キー(ガイドピンHIF3−GPIN)を嵌めて使ったことがある。
ただし使ったのはその1回だけで、今でも沢山残っている。
特殊なパーツだから使う機会が無い… HIFの誤挿入防止なら、ヘッダ側のピンを1本切って、ソケット側のピンを接着剤で埋めるといいです。 MPLABXをインストールして立ち上げたらコンパイラ入れろっていうからやる気なくす
最初から同梱しとけよ
入れたらPATH設定しろって言うからやる気なくす
なんでいちいち環境変数使うんだよ
だいたいどこのパスを設定すればいいのか言えよ
とりあえずプロジェクト作ろうとしたらアセンブラが選択できない
ほんとやる気なくす >>303
読めるけど
英語が読めないこととMPLABXを使う手順が複雑なことになんか関係あるの? あれ、Build Toolダイアログに追加ってあるけどPATH設定しないとMPLABが閉じるんだが
これPATH無しでどうやって設定するんだ…? コンパイラインストールしてコマンドラインでコンパイルすれば良いじゃん >>306
コマンドラインの方が楽かもしれないってのは新しいIDEを使うたびに思う
とりあえず使おうとしてた石がMPLAB8で選択肢にない気がしたのが気のせいだったから
MPLABXへの移行はまたの機会にするわ >>ID:FVfy8NwO
上手くいかないのは自分のアホのせいなのに全部他人に転嫁する。
自分を振り返ることが無いからいっさい進歩せずにずーっとアホのまま。
典型的な無能。
笑える。 あらあら、匙投げちゃったよw
犬猫以下だね、どうも。 こんな深夜に愚痴聞いてくれてありがとう
俺がアホなのは別にいいが
MPLAB(8もXも)ってインストールしづらくて使いづらいと思わん?
VisualStudioとかNXPのIDEとかAVRのIDEはもっと楽だったぞ >>310
気持ちはわからんではない。
今時、統合環境のインストール一発で、コンパイラのお膳立てくらいしてくれてもとは、思う。 別にpathなんか設定なくてもideの中でビルド可能だろ
やりもしないで文句だけ先かよ 8bitミッドレンジは5桁な16F183xxが増えるのかと思いきや、OPAMP積んでアナログ重視な16F1769が登場したり
混沌としてきた。ということで>>2に追加と秋月価格修正してみた。
---
[20pin] 種類豊富
16F18346 \160 16Kw 2048 I/O18 ADC17 DAC1 CapS-- Comp2 Timer3/4 CCP0/0/4/2 EUSART1 MSSP2 CWG2 CLC4 NCO1 PPS
16F1829 . \190 08Kw 1024 I/O18 ADC12 DAC1 CapS12 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP2 CWG- CLC- NCO-
16F1828 . \155 04Kw 0256 I/O18 ADC12 DAC1 CapS12 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP1 CWG- CLC- NCO-
16F1769 . \200 08Kw 1024 I/O18 ADC12 DAC2 CapS-- Comp4 Timer4/3 CCP0/0/2/2 EUSART1 MSSP1 COG2 CLC3 NCO- PPS
16F1709 . \150 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer4/1 CCP0/0/2/2 EUSART1 MSSP1 COG1 CLC3 NCO- PPS
16F1619 . \150 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer4/3 CCP0/0/2/2 EUSART1 MSSP1 CWG1 CLC4 NCO- PPS
16F1579 . \140 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer2/5 CCP0/0/0/4 EUSART1 MSSP- CWG1 CLC- NCO- PPS
16F1508 . \130 04Kw 0256 I/O18 ADC12 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/4 EUSART1 MSSP1 CWG1 CLC4 NCO1
16F1459 . \190 08Kw 1024 I/O17 ADC-9 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/2 EUSART1 MSSP1 CWG1 CLC- NCO- USB
[18pin] 秋月では取扱い少
16F1827 . \140 04Kw 0384 I/O16 ADC12 DAC1 CapS12 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP2 CWG- CLC- NCO-
[14pin] 機能的に8pin同等
16F18326 \130 16Kw 2048 I/O12 ADC11 DAC1 CapS-- Comp2 Timer3/4 CCP0/0/4/2 EUSART1 MSSP2 CWG2 CLC4 NCO1 PPS
16F18325 \100 08Kw 1024 I/O12 ADC11 DAC1 CapS-- Comp2 Timer3/4 CCP0/0/4/2 EUSART1 MSSP2 CWG2 CLC4 NCO1 PPS
16F1825 . \150 08Kw 1024 I/O12 ADC-8 DAC1 CapS-8 Comp2 Timer4/1 CCP1/1/2/2 EUSART1 MSSP1 CWG- CLC- NCO-
16F1823 . \100 02Kw 0128 I/O12 ADC-8 DAC1 CapS-8 Comp2 Timer2/1 CCP1/0/0/1 EUSART1 MSSP1 CWG- CLC- NCO-
16F1705 . \100 08Kw 1024 I/O12 ADC-8 DAC1 CapS-- Comp2 Timer4/1 CCP0/0/2/2 EUSART1 MSSP1 COG1 CLC3 NCO- PPS
16F1503 . \080 02Kw 0128 I/O12 ADC-8 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/4 EUSART- MSSP1 CWG1 CLC2 NCO1
16F1455 . \140 08Kw 1024 I/O11 ADC-5 DAC1 CapS-- Comp2 Timer2/1 CCP0/0/0/2 EUSART1 MSSP1 CWG1 CLC- NCO- USB
16F1454 . \130 08Kw 1024 I/O11 ADC-- DAC- CapS-- Comp- Timer2/1 CCP0/0/0/2 EUSART1 MSSP1 CWG- CLC- NCO- USB
[8pin] シリーズ最小構成
16F18313 \075 02Kw 0256 I/O-6 ADC-5 DAC1 CapS-- Comp1 Timer2/1 CCP0/0/2/2 EUSART1 MSSP1 CWG1 CLC2 NCO1 PPS
12F1840 . \120 04Kw 0256 I/O-6 ADC-4 DAC1 CapS-4 Comp1 Timer2/1 CCP0/1/0/1 EUSART1 MSSP1 CWG- CLC- NCO-
12F1822 . \100 02Kw 0128 I/O-6 ADC-4 DAC1 CapS-4 Comp1 Timer2/1 CCP0/1/0/1 EUSART1 MSSP1 CWG- CLC- NCO-
12F1612 . \080 02Kw 0256 I/O-6 ADC-4 DAC1 CapS-- Comp1 Timer4/1 CCP0/0/2/2 EUSART- MSSP- CWG1 CLC- NCO-
12F1501 . \070 01Kw 0064 I/O-6 ADC-4 DAC1 CapS-- Comp1 Timer2/1 CCP0/0/0/4 EUSART- MSSP- CWG1 CLC2 NCO1
表記 Timer[8bit]/[16bit],CCP[Full]/[Half]/[CCP]/[PWM],CapS=CapSense,Comp=Comparator
CWG=Complementary Waveform Gen.,CLC=Configurable Logic Cell
NCO=Numerically Controlled Oscillator,PPS=Peripheral Pin Select MicrochipはもうUSB付き8bitPICの新製品は出さないんだろうか ネトゲのアイテムじゃあるまいし んなポコポコでるかよ。
既存の品種で対応しきれないニーズがない限りないよ。 機能そのままでメモリだけ増やして欲しいと思うことはある。 余計な機能(俺にとって)省いて足増やしてくれと思ったりも PIC18F14K50を真のK50シリーズにして欲しい
具体的には、ACT版の18F14K50を出してくれ
16F1455は所詮PIC16でアーキが古臭いし、かといって18F25K50は用途によっては
ちょっと大きすぎる時があって20pinの18F14K50がACT対応されれば随分楽に
なるんだが >>319
水晶1個、コンデンサ2個省けるわけですが? 水晶を一個手に入れるだけで送料500円かかるしな。ヤマトなら600円。 すみません、「ATC」って何ですか?
あと「アーキ」って何ですか? なんでPICのスレでスレチな質問してるのか知らんけど
>「ATC」って何ですか?
Automatic Train Control、自動列車制御装置の略らしいよ
そんなことより君は今すぐ病院行ったほうがいいね。頭の。 ありがとうございます。
質問をタイポしました。
「ACT」って何ですか?
「アーキ」って何ですか? >>325
質問ならせめて日本語でお願いします
>質問をタイポしました。
タイポ?意味がわかりません。タイポとは? >>325
Active Clock Tuning
あと、「アーキ」とか言ってるヤツは、基本相手しない方がいいぞ。 >>327
その略なんですね、ありがとうございました。
相手しちゃダメでしたね、気を付けます。 >>325
技術系のお仕事じゃないのかな?
アーキという略語を使ってるところは多いよ。少なくともT○Y○TA系とNヨC系では何の
前フリも無く「えー現在アーキチームと協議中でしてー」とか出てくる 流れを見るに、「アーキ」を指摘されて必死になってる感しか伝わって来ない。
そして、無意味な伏字が痛々しい。 アーキに過剰反応してる素人さんがいるようけど、2chは元よりニュースで使われても混乱する馬鹿はいないと思うが。
http://techon.nikkeibp.co.jp/atcl/news/16/051302065/
> 所詮PIC16でアーキが古臭いし
この文脈で分からないとか相当アレな人やで。 社内用語は社内でだけ使っとけ、としか思わないけど。 頭がおかしい単発IDが暴れだしてるなw アーキと名付けよう。
アーキ アーキ あ〜キチガイw 必死だなぁ
日経の記事で堂々と「アーキ」って使ってる点はどう思ってるんだろう・・・
「日経社内の略語で記事を書くな!」とでも思ってるんだろうか・・・
なーんかコミュニケーションに苦労してそう(周りの人が) アーキとかキャパシとか言ってる奴いるよね時々さ
伝わりゃ何でも構わないってのは国外を相手にしたことの無い低学歴な技術屋に多い発想だね
英語は英語圏でどう略すかって考えるのが普通だからふつうは言わない
そういう環境に無いとアーキとか平気で言っちゃう あ、日経の記者レベルが基準なのか、相手しちゃいけない人だったわ ドヤ顔してるところ申し訳ないけど
海外でも普通に「アーキ」(発音は「アーチ」だけど)使うけど・・・
一つマジ忠告しておくけど
「自分が知らない」=「世間で一般的じゃない」と思い込んでるとこの先大人になってから
苦労するよ。学生のうちにそういう悪癖は潰しておいたほうがいいよ アーキ君の主張はよく分かったから連投は止めてほしい。 >>339
そうなのか。
どこの海外なのか引用元が示されてないけど?
ま、あんたに敬意を表して次からは「アーチ」って書くことにするわw 俺の脳内には海外が広がっているんだ
カタカナ表記が普通に通用する海外がな 私はこういう所では出来るだけ省略しないようにしている。
中には略語に馴染めない人も居るだろうし、
少なくとも省略しなければとやかく言われる事は無いからね。
カタカナで長くなるとタイピングが面倒だけど、
私は平和愛好家なので、電電板の平和維持のためには仕方が無いw >>336
日経の記事書いたやつがバカなだけだろ。 アーキには凄い必死になって食らいつくのにタイポ?は知ってて
当然みたいな顔してるのが面白いね
で、タイポってなに?
俺も答えを知りたいんだけど 日経の記事冒頭で アーキテクチャ(以下「アーキ」)とでも書いてあればまあいいが、
そうでもないなら記者の頭おかしい typoって英単語だろ?
辞書引きゃいいじゃん。
何聞いてんだ? >>349
>誰がtypoの話をしてるって?
↓これ
>>345
>で、タイポってなに?
>俺も答えを知りたいんだけど タイポはなー、割と便利な語なんだよなー
誤植じゃないし(植字してない)、誤字じゃないし(字の形を間違えてるわけではない)
敢えて言えば誤打鍵だけど一般的に使われてる語じゃないし
書き間違い・打ち間違いならいいけど和語だとしっくり来ない場面多いし
その点タイポはタイポグラフィカルなエラー一般に対して使えて便利
まあ自分なら違和感を感じながらも「誤字」を使うかなあ
なお自分はアーキテクチャはPIC18よりEnhancedミッドレンジの方がすっきりしてて好き。 >>327
同意。
知ったかぶっているのが、一番たちが悪いね。 >>319
電子工作レベルなら、特に気にならない。 メリケンのロートル技術者は8051好きだねぇ
日本のジジイ技術者でZ80使いは絶滅したけど
PIC16信者はまだまだ主流派だ PIC16全体を一絡げに古いとか言い切るとか、無知ですか 古いコアを周辺機能でゴマかして、イヤ、カバーして・・・というと
小池都知事を思い出す・・・年寄りの厚化粧。
イヤ、最終的にCPUとして機能し有効なら、
豊洲市場へ引っ越すのが正しいのなら、それで構わないんだけどね。 こういう知ったかに限って、i386がベースになってる最新intelプロセッサに
ついては何も言わないんだねw Enhancedで多少使いやすくはなったにせよレジスタ1つってのがなー
その点ARM8はすげーよなー
32bitアーキテクチャ切り捨て(も可)だもんなー >>364
えッ、最新intelプロセッサがi386のコア使ってるって? 386コードが動くというのとベースになってるってことは全然違うってことをわからないやつに言われてもな >>370
動きます!単なる反転アンプとして、FFを構成するところから始めていただければ大丈夫です AVRに周辺機能をぶっこんで、PICは捨てるべきなのですよ。 microchip に買われてからAVR8 / 32は新しいチップ無いけどな 両方続ける理由は無い
どちらかと言うとAVRが消える >>375
AVR自体がエラッタだと言うことに気づけよw PICユーザーはエラッタ不感症なのか、エラッタ耐性なのか、何かすごいと思うw
(褒めているんですよぉ) 30年後は世界政府が個人のマイクロプロセッサの所有を禁止してるわ >>379
データの単位の多くが、未だに8bitだからな。 >データの単位の多くが、未だに8bitだからな。
俺の貯金ですら、16ビットでは不足するぞ。
なにかと判断が1ビットの人もいるけれど。 コンビニ支払が256円だとキリが良い!と思えるファミコン世代ですので >>386
通信や伝送規格の殆どが、データの最小単位は8bit。 >>388
最小単位とプロセッサの処理単位は別だろう。
32ビットマイコンでもバイト単位の処理ができるんだし。
どんな通信を使おうが、扱う数値やデータ量と世間の趨勢で普及するマイコンのビット数は決まってくるよ。 じゃーなぜ画像扱う時代になったのに24bitマイコンは主流に成らなかったの? >>390
いくつかの疑問
・24ビットでいいの? もっと多ビットでの処理もあるんじゃないの?
・24ビットに画素の属性(透過度など)は含まれているの?
・32ビットで管理できないの?
・汎用プロセッサで扱うとして、他の処理の重要性がどうでもいいぐらいに24ビット画像処理って重要なの? PICで開発してるんですが、PICはデバッグ実行のような事はできないんでしょうか?
MAPLAB-XとPICkitTM3を使ってます
VisualStudioみたいにブレークポイントを張ってそこで止めたときの変数の値とか
確認したいのですが可能でしょうか? >>392
もちろん可能だよ
MPLABX Debug で検索して >>391
確かに。
画像処理が重要ならGPUがってのがトレンドだしね。 でもドラレコにPC界隈でよく聞くGPU載ってるのってすくなくね?
個人的には別にフルスペックのドラレコ作りたいわけじゃないけど、モノにしたい技術だなぁ。
もちろんPICでは無理だけど。 pic32のharmmonyのタイマー割り込みなのですが、
割り込み時にカウンタを0にする必要がないのでしょうか?
なんか不規則な感じがするので知りたいのですが。
あとtimerの値(現在値)を参照するにはどうすればよいのでしょうか? PICでLEDを光らしたいのですが、ピンの余裕がまったく無くてMCLRくらいしか
空きピンがありません
MCLRでLEDを光らせようと思ったらMCLRをOFFにしてIOピンとして使う宣言をした上で
5V <---R---LED---○MCLR
こんな感じの接続にすればいいと思うのですが、問題はこの接続のまま高電圧(9-12V?)を
かけてPICKITで書き込みを行っても大丈夫でしょうか?LVPの無いPICです >>400
MCLRと共通になっているポートが出力にもなる品種があるのか。
てっきり入力専用だと思ってた。
使えるとして、だけど、その接続だとLEDに過大な逆電圧がかかってしまいます。
シリコンダイオードを直列に繋ぐ。
さらにLEDには並列に逆方向のシリコンダイオードか、10kΩぐらいの抵抗をつなぐ
が必要になるでしょね。 >>400
LEDの逆耐圧はけっこう低いものが多いのでVPPが定格を超える可能性があります
保護方法としてはダイオードを逆向きに並列接続して逃がしてやるのが一般的です
しかしこの場合はRがVPPの負荷になってしまいます
Rが十分大きい場合は問題ありませんがLEDを光らせるために低抵抗になっていると過負荷になり書き込みがうまくいかない可能性があります
直列にダイオードを入れてIrを小さく抑えるという対策でいいと思います
5V---R--|>|--LED---MCLR >> MCLRが出力にもなる品種・・・
確かに、そんなの有ったっけって感じ
具体的な品番 なんだろ? 他のピンでもLEDを光らしてて、CPUパワーに余裕があるならMCLRは使わずcharlieplexingかな。 MCLRはUARTの受信に使ってるわ……9600だからこれで十分。 MCLRにまで手つけるような状態なら品種変えるわ俺なら MCLRで出力できるPICが出たら大騒ぎになりそうなものだからたぶん勘違いなんじゃないかなあ
UART受信は俺もよくやる。10F200とか8ピンとかだとスイッチ入力も真っ先にMCLRに割り付ける
っていうかUARTはむしろUSARTモジュール使う方が面倒 1Mbps位で使うことが多いからソフトUARTは滅多に使わないな。 >>409
何をもって1ビットづつというのか分からないけど、
関数を呼ぶとスタートビットを待って8回読んで1バイト返す感じ
>>410
あー1Mbpsだとソフトではつらいな
PCとの接続に使ってるから115200までしか使ったことない
あと思い出したが16F628Aとかだと内蔵4MHzでUSARTモジュール使うと
115200が半端で出せないからソフトでやるしかないんだよな >>411
最近はシリアルポートのあるPCが殆ど無いのが幸いして
USBシリアルを使うことが多く、普通に921600bpsとか3Mbpsが使える。
16F1823でさえ余裕で921600bpsが使える。
割り込みを10μ秒周期にすればキッチリ詰めて送受信可能だし
今更9600bpsなんて使う気が起きないな。 久しぶりに来たら残存バカばっかりになってて興味深い。
さようなら。 >>411
Tnx.
そういうのが知りたかった。
スタートビットを検出してから関数を呼ぶってことは、受信中は他の事は出来ないの?
MCCの生成する、ハードウェアUSARTを使ったコードに対する優位性はあるの? チンピラ崩れみたいな奴が金魚の糞みたいなレスするのが、何時もの楽しみwn 前に市販のFT232RLのUSB-UART変換器を使った時に、
高いボーレート設定値にかかわらず、あまりに実効速度が遅くてガッカリした事がある。
用途次第だと思うけど、やはり1バイト受信完了割込みが使えないソフトUARTは
複雑な処理のプログラムは組めないのでは?
私としては出来ればDMAで処理したいぐらいだ。
(以上、糞レスだよぉ、楽しめてもらえたぁ?)w >>412
なるほどUSBシリアルは速いんだ
俺のPCは昔RCDライタ使ってたからシリアルポート付けたんだ
64bitOSで使えなくなったけど
>>415
うん、出来ない
優位性としては、
アセンブラで1サイクル単位でコード詰めるのが楽しい
非同期的なプログラム書くめんどくささがない
シリアルポートに抵抗だけで直結できる(EUSARTだと片側だけ極性変えられたっけ?)
4MHzの10F200や16F628Aでも115200bpsが出せる
‍‌​あたりかな
>>418
複雑な処理のプログラム書いたことないからな… すまん、変な不可視文字紛れ込んでた
> ‍‌​ >>419
関数を呼ぶとスタートビットを待って8回読んで1バイト返す感じ
関数呼んで、スタートが来なかったら、一生待ってるの? スタートビットのエッジを検出したら、0.5ビット分待ってから10回、スタートビットからストップビットまでの各ビットの中央付近を1ビットづつ読んで終わりじゃないかな。 >>423
>>421の関心はむしろ「一生待ってるの?」のほうだと思う。
回避方法はいろいろあるだろうけど。 スタートビットのエッジで関数を呼んで、0.5ビット後の読み込み結果がHだったら、リターンするのでは?
待つのは0.5ビットだけでしょ。 >>425
>>421がそれで納得すればいい。のか。 受信待ち中他に何も出来ないし他の割り込みも止めなきゃならない ソフトUARTはエラー(パリテイ、フレーミング、オーバーラン)のチェックが大変そう。
また、1回のサンプリングでビットのH/Lを判定すると判定エラー率が高くなり、ノイズに弱くなる。
(例えばAVRでは3回サンプリングして多数決で決めている)
通信エラーを気にするなら素直にハードUARTを使った方がいい。
まして送信・受信完了割込みが使えないなんて・・・。 >(例えばAVRでは3回サンプリングして多数決で決めている)
これってPICのUARTはどうなんでしょう
同じですか?
「 PIC16の資料を見たけど特に説明は無いみたい。
申しわけないけど詳細は分りません。 商用でソフトUARTなんて実装例はあるのかね?
欠点が多過ぎて 超スローレートなら割り込みでサンプリングすれば良いけど デバッグ用に送信オンリーでログ吐き出すときはよくやるよ >>421
時間でタイムアウトするコードも1回書いてみたけど
タイムアウト時の処理考えるのめんどくてほとんど使ってない
ポーリング間隔が空いてタイミングがシビアになっちゃうし
やるならウォッチドッグタイマの方が楽かなあ
>>430
エラーチェックするほど立派なもの作ってないので…
特に受信側は1文字のコマンドを受け付ける程度にしか使わないし
>>431
同じく3回の多数決でノイズ除去してる
ttp://ww1.microchip.com/downloads/jp/DeviceDoc/31018a.pdf >>433
欠点をリカバー出来ないのは℃素人だから、まともに設計出来てないんだろ。
2B+Dの16KBPSを普通に処理してた@2000年位の数十万台オーダーの量産品 >>439
ぜひご教示願います
●マイコンのビット数、コアクロック周波数
●スタートビットの検出方法
ループによるポーリング / ポート割り込み / タイマーによるポーリング / 他
●受信データのサンプリングタイミング
単純ループによるウェイト/ フリーランタイマーを使ったループによるウェイト / タイマー割り込み / ポート割り込み / 他
●送信データのポート設定タイミング
単純ループによるウェイト/ フリーランタイマーを使ったループによるウェイト / タイマー割り込み / 他 ポート割り込みによるソフトウェアUARTを書こうとしたけどグリッチがひどくてろくに書けなかった思い出
技術力がほしいなあ >>440
CPU:某社z80ライクなCPU
クロック:8MHz
送受共タイマー割り込み
今時の8ビットPICの方が速い。 >>439,>>442
Iインターフェース加入者回線かな
そんな量産品じゃないけどメンテナンス用のポートとしてバックグラウンドルーチン内で使ったことはあるな 高速な調歩同期信号を自力デコードする場合
タイマで波形サンプリングして多数決取るよりも
インプットキャプチャ割込でエッジ間隔測ってウインドウ設ける方が経験的にエラー率下がる >>446
PICの使い方としては、100%でもいいだろ。
プログラム可能な周辺ICなんだから。 本物のプロと℃玄人(=実は単に長くやってるだけの毛が生えた素人)とはちゃんと見分けてください >>437
うわっw
ここは初心者スレじゃないはずだけどw 流出したコードを解析すると、>>437 の通り
TxとRxは同一ピン、しかもそれがカードに要求される仕様tだからな
採用したマイコン(6805カスタム)の制限なんだろうが、そうするしか無かったんだろ
今現在はどうか知らんが cx32ってクソなバグない?
変数定義したら定義すべきでない領域に定義して、
その変数に値をセットしら暴走するんだけど
変数の割り当てを行うときに自ら領域破壊をしてくれてるんだけど 電源がクソ
クロックがクソ(外から入れてるなら)
リセットがクソ バグを一日追ってたけどわからなかったw
アホコードはharmonyのコードぽいのだけわかった
具体的には構造体変数が4個必要として
volatile typedef struct un{
unsigned short a;
unsigned char bb[128];
} nameA;
volatile nameA aho1;
volatile nameA aho2;
volatile nameA aho3;
main(){
memset((char *)&aho1 , 0x00 , sizeof(nameA));
memset((char *)&aho2 , 0x00 , sizeof(nameA));
SYS_Initialize ( NULL );
memset((char *)&aho1 , 0x00 , sizeof(nameA));
memset((char *)&aho2 , 0x00 , sizeof(nameA));←これで落ちる
}
だから
main(){
memset((char *)&aho1 , 0x00 , sizeof(nameA));
memset((char *)&aho3 , 0x00 , sizeof(nameA));
SYS_Initialize ( NULL );
memset((char *)&aho1 , 0x00 , sizeof(nameA));
memset((char *)&aho3 , 0x00 , sizeof(nameA));←落ちない
}
で、aho3の中見るとSYS_Initializeでなんか書き込んでるみたいで
それを上書きすると暴走モード突入
んじゃaho4さけてるけど、配列順で落ちるわけでもなく、
volatile nameA aho2;
volatile nameA aho1;
volatile nameA aho3;
と宣言してもaho2で落ちやがる
で、も色々変数追加すると落ちるのがaho2から移動しやがる
aho2使わないので、
//volatile GOMI aho2;
ってすると暴走モード先の変数が変わる
配列初期化で落ちるからまだいいけど、intで値変えると落ちるとかになると死ねるわ
意味わからないですがwなにやってんのこのコンパイラ >で、aho3の中見るとSYS_Initializeでなんか書き込んでるみたいで
で、aho2の中見るとSYS_Initializeでなんか書き込んでるみたいで
>んじゃaho4さけてるけど、配列順で落ちるわけでもなく
んじゃaho2の宣言位置を移動してみても、配列順で落ちるわけでもなく、
すみません訂正 &ahox → ahox または &ahox[0] >>313
16F1709 . \150 08Kw 1024 I/O18 ADC12 DAC1 CapS-- Comp2 Timer4/1 CCP0/0/2/2 EUSART1 MSSP1 COG1 CLC3 NCO- PPS
http://akizukidenshi.com/download/ds/microchip/pic16(l)f1705_1709.pdf
16F1705 . \100 08Kw 1024 I/O12 ADC-8 DAC1 CapS-- Comp2 Timer4/1 CCP0/0/2/2 EUSART1 MSSP1 COG1 CLC3 NCO- PPS
http://akizukidenshi.com/download/ds/microchip/PIC16F1705.pdf
1705/1709はデータシート共通の兄弟デバイスのはずで1705が性能の割りに\100と格安なのは
EEPROMが省かれているからと思っていたけど遅れて発売になった1709は1705と比較して\150とやけに高い。
確認してみるとEEPROM機能が追加?になってる。だから高くなった?。
>http://akizukidenshi.com/download/ds/microchip/pic16(l)f1705_1709.pdf 第1、第2ページの記述
でもマイクロチップ社のサイトにある書き込み手順のデータシートにはEEPROM関係のコマンド説明はない
http://ww1.microchip.com/downloads/en/DeviceDoc/40001683B.pdf 第15ページの記述
そこで、
PICKITでPIC16F1705 1709に書き込みされている方、PIC16F1705 1709のEEPROMは実は存在し、
読み書きできているのでしょうか?確認お願いします。当方ライタ自作派のため確認できません。 ほぼ自己解決しました。EEPROMが追加されたのではなくて
>http://akizukidenshi.com/download/ds/microchip/pic16(l)f1705_1709.pdf 第十九ページ
一万回書き替え可能なプログラムメモリのうちのケツの128ワード分の領域のみが
製造プロセスの進歩か何かで
十万回書き替え可能なHigh-Endurance Flashとしての機能を持つようになったから
EEPROM的に使える、でもプログラムメモリは32ワード単位の消去書き込みだから
一バイト単位の消去書き込みはできなくて少し不便になる、と理解しました。
お騒がせして失礼しました。 >>461
>当方ライタ自作派のため確認できません。
自作なら出来るだろ。能力無くて、劣化コピーを作っただけじゃないのか? >>463のお馬鹿さん >>462を読んでね。もはや確認する必要はないの。皆さんも私も。 >http://akizukidenshi.com/download/ds/microchip/PIC16F1705.pdf
古いデータシート、本文中に記載はないけど第三百八十一ページのテーブルに
High-Endurance Flash Cell 100K E/W Lower byte last 128 addresses
と記載があるから製造開始当初からこの性能は持っていたと言うことでしょうね。 HEFはウザいからほンとやめて欲しい
そりゃ作る側からすれば楽なのかも知れンけど、使い勝手が悪すぎる
多少値段が上がってもいいから、せめて「EEPROMのみ」か「EEPROMと
HEF混載」のどっちかにして欲しいヨ。 >>464
>>463は確認しろとは言ってない
能 力 無 く て 、 劣 化 コ ピ ー を 作 っ た だ け だ ろ W W W
と言ってる。 多少ウザくてもいいから値段を下げてほしい人のほうが多いんだろうな スモールソップパッケージで作ってる人って書き込みはどうやってますか?
今までソップばかり使っててこちらはICクリップが余裕で引っ掛けられたので
ICクリップ使って書き込んでいたんですが、今回基板サイズ的にどうしても
スモールソップじゃないとダメなのですがだからと言ってプログラミング用の
書き込み端子だけ出すのは面積的に辛いです
やっぱりスモールソップ用のソケットを使って書き込んだ後にはんだ付けされて
るんでしょうか? 何でわざわざカタカナで書く?
しかもシュリンクスモールアウトラインパッケージだし。 スモール[ソップ]パッケージ=スモール[スモールアウトラインパッケージ]パッケージ 書き込み機接続用のパターン作っておくだけじゃね?
なんか特別な事? >>472
SSOPの先頭のSは>>471さんが書いているように、Shrink のSであって、Smallじゃないですよ。
>>470
パッケージにかかわらず、書き込み用のパターンは用意しています。TSSOPぐらいならともかく、
他のもっと小さい(あるいは多ピン)のデバイスで、専用のソケットを用意して書き込むのは
無理があるかな。 RAS症候群については使わないと分かりづらい場面が多数あって
自分的にはSOPパッケージくらいなら許容だなあ
IT技術とかFM変調とか平気で使う 揶揄するつもりで書いたら、>>475にガチで諭されたでござるw
融通が利かないとか察しが悪いヤツって頭悪そう。
それはさておき、>>473の方法は良さそうなので真似する。 >>470
>プログラミング用の書き込み端子だけ出すのは面積的に辛い
よくわからんなあ。
ICクリップ用のテストピン立てるだけなら1x1mmで済む話だけど。 >>476
SSOPパッケージってなら分かるが、スモールソップパッケージだからな。
ま、いつもの人がわざと書いてるんだろうけど。 SSOPの最初のSがスモールじゃなくてシュリンクと言うのは正しい
間違っていない
だがその「シュリンク」の語源がそもそも「スモール リンク」であることを
考えたらSはスモールのSという認識もまったく見当違いと言うわけではない そういう屁理屈じゃなくて、わざわざカタカナで書くなようぜえなあ、って話だよ ICSPバラ線で繋いでる人結構いるのね。 仕事の癖でコネクタに纏めちゃうけど。 >>483
「仕事での習慣で、趣味の工作でも」じゃないの?
意味不明ってほどでもないし、ましてや草生やす案件でもない。 書いたつもりが、出てこない。どっかの誤爆したかな?
>>480
>「シュリンク」の語源がそもそも「スモール リンク」であることを
どうもそんな様子じゃないけど。
https://en.wiktionary.org/wiki/shrink >>484
仕事だからこそ、コネクタにまとめる必然性があるならまとめ、無いならまとめない。
というスタンスなんじゃないのかな。
それが単なる癖とか、どんな仕事なのか想像すると十分笑える。
それより、
わざわざ連投する内容>草生やす案件
なんだね。 そういう習慣なり社内規定なりがある仕事場だってあるだろうなあ、って思うわけですが。
笑いは軽蔑でもありますが、この場合の笑いはそれに該当するのですか? スモールリンク略してシュリンクで
オペレーションランド略してオペランドを思い出した
ttp://ednjapan.com/edn/articles/1309/20/news008_3.html Arduinoが300円
ライターも要らず、USBにさすだけで書き込める
PICは怠慢 書き込みにしか使わない端子なんだから基板上の優先度は低い。
スペースに余裕があればまとめるし無けりゃ散在させるしかない。
それだけのこと。
癖は関係ない。
まして必死に連投してまで主張するような内容じゃない。 >>489
PICが秋月で45円から
ブートローダも要らずUSBまわりを背負って歩く必要もないから身軽
Arduinoはどんくさい
一応一回だけ相手してやるけど、
マイコン単体とモジュールを比べて喜ぶのはここだけにしといた方がいいぞ。 いや俺一回しか書いてないが。
全数自分でやるならワニ口だろうがICクリップだろうがなんでもこいだが
人にやらせる事前提なら簡単で間違いのない方法を選ぶんじゃねえの。
何ヶ月か後の自分だって他人相当だったりするしな。 Arduinoは単体で完結してるから、初心者がマイコン遊びをするのには非常に良いと思う。
PICはそこらへんが弱いが、成り立ちからしてしょうがない。
後PICは値段が安いので模型の電飾用とかフラッシュライトの制禦用とかにに容赦なく突っ込めるのが良い。 >>489
Arduinoはライター必要だろ。
アップデートは単体では出来ない。
PICだとPIC BASICとか有ったな。
流行らなかったけど。 >>494
ごめん、ちょっと何言ってんのかわからない。 >>494
> Arduinoをモジュール視しているのが時代遅れ
という主張のリンク先が、モジュールとはこれいかに。
リンク間違い? >>494
Pro MiniがeBayで164円なのにそれ必要なの?
小さくしたいというアガキならいっそコレでやれよ。
http://akizukidenshi.com/catalog/g/gI-09574/
と思ったら結構するのな。
20MHzだからかな。
ま、俺は60円でこれ使ってるから必要無いけど。
http://akizukidenshi.com/catalog/g/gI-08577/ お仕事でもなければ、少ピン種を選ぶとかマイコン単価にこだわるとかは
そのものが趣味性の高いことだから、そのことに関心が薄い人に競争を
ふっかけることはないと思うんだ。
価値観っていろいろだよね。 >>499
一番無いのはお前が横から口を挟む必要性 Arduinoで細かいことしようとすると面倒だけど、ライブラリの使いやすさはMPLABXにも取り入れて欲しい。 Arduino で出来ない細かい事したいのに面倒な事は嫌だ、か。
残念ながら世界はそんな風には出来てない。 >>500
例えば大きくてもお金がかかってもいいから、実現したいことがある、という志向もあるわけで、
そんな人にまで少ピン種を選ぶとかマイコン単価にこだわる価値観をふっかけるのは愚かしい。
逆に、自分の人件費換算でどれだけかかろうと、安いチップにアイデアを詰め込んで、なおかつ極限まで作ることに
楽しみを感じている人に、それで何が面白いの? なんて問いかけるのも愚かしい。
趣味の価値観も多様であっていいし、それは仕事でも言える。
多数に売れるものを作る立場もあれば、少数のニーズに応える商売をする人も必要。
ってことだよ、>>499は。
一方的に小さく安いチップで作る人を蔑んでいるわけじゃないよ。 小さく安いチップという制約でアイデアを凝らすのと、
Arduinoという制約の中でアイデアを凝らすのと、
やっていることは全然違っていても傍からみれば、スポーツ性が高くて似てるんだがなあ。 Arduino使ったことないけど、ライブラリが豊富でCCSみたいな手軽さがあるのかな。
まぁ、サイズと消費電力の大きさで全く興味がないけど。 ArduinoってFFTも余裕なんでしょ?そりゃ勝てないわ >消費電力の大きさ
消費電力の大きさ?大きさ?消費電力の大きさ??
意味わかんない >>505
「例えば」まで読んだ。
お前、いつも長々と講釈たれるけど、
そのくせ内容は誰でも思いつくようなチンケな一般論なんだろ。
よっぽど暇か? >>512
そいつ、いつでも、
世の中にゃAの人もいてBの人もいて、それでいいじゃないですか。
みたいな論調でだらだら長文書くんだよ。
目的が良く分からんのだが。 >>505
>逆に、自分の人件費換算でどれだけかかろうと、安いチップにアイデアを詰め込んで、なおかつ極限まで作ることに
>楽しみを感じている人に、それで何が面白いの? なんて問いかけるのも愚かしい。
チップではないが、
一時期、「以下に小さく作るか、狭い空間にいかに部品を詰め込むか」に情熱を燃やしていた。
空中配線は当たりまえで、抵抗1個を交換するために3ヶ所ほどのハンダ付けを外す必要があったw
さすがに1年もこのやり方を続けると疲れて飽きてきて、
今は以前のような「空きスペースが一杯、ゆったり作る」に戻っている。
なお、ほとんどの場合、見た目重視で、制作したものは金属やプラのケースに入れ、
フロント・リアのパネルのSWやLED、コネクタなどには文字ラベルも付けている。
ハード・ソフトの設計製作と同じく、ケースの加工も楽しい♪ 見た目重視の例、
つぅかこの場合はラベルが無いと頭の悪い私はすぐに忘れて操作できなくなるw
https://i.imgur.com/1BbjxQT.jpg 俺はずっとPICやってて、ESP8266でArduinoに触れたけど、Arduinoで簡単に出来そうなものはArduinoの方が便利だ。
低消費電力、コンパクトさが欲しいときはPICだな。 >>516
わかる
実装すぐは覚えてるけど
別のもの触ると俺はもうダメw ArduinoのライブラリをPICに変換して使ってるけど
そんなに苦労なく変換できるし、Hexのサイズも
激減する。
マイコンは自分の使いやすいものを使えばいいだけで、ソフトは
それほど苦労なく変換できるというのが実感です。
(Arduinoからの変換する場合ですが)
現在は8051系マイコンに移植しています。
8051系は仕組みが簡単ですが、いろいろ工夫されていて
現在でも全く使い物にならないということはないです
ピンの多いタイプでも安く入手できるのでよく使っています。 以前はPICで作ってたちょっとしたツールを、中華製の激安arduino互換機でつくるようになっちゃった。
老眼のせいでクロックやシリアル周りの配線が辛くなっちゃったのが一番の原因。
それと、arduino pro mini 互換機なんかだと約300円くらいだから、低速・単機能でOKなものなら、
使い捨て感覚でどんどん使えるのが嬉しい。
PICだと、本体とと基盤と周辺部品で激安互換機よりも高くついちゃうのもネック。
PICにも激安ブレークアウトボードがあればいいのにと思ってる。 >PICだと、本体とと基盤と周辺部品で激安互換機よりも高くついちゃう
ちょっと分からない。
例えばどういうケース? ああ、基盤は高くつくけど基板なら安いって話だったか。 確かに現状だとPro Miniが200円切ってるから
さすがにちょっと考えるね。 今のところは電源で使い分けてる
コイン電池、単3単4電池で運用するならPIC16LF
ACアダプタやPC接続運用で軽負荷ならArduino、重い処理はラズパイ
真にヤバいのはESP8266のような激安通信機能付きチップで
BluetoothLowEnergyモジュール完成品が200円以下となったときかな arduino pro mini: atmega328p ¥177
秋月で、単品 ATMEGA328P 買うより 100円安い、そう言う事だよ
ROM:32K/RAM:2K + 基板 & 周辺部品 = ¥177
PICで同等以上のモノが有ったら、貼った上で反論しろ
唯一の利点、値段で負けたからって発狂すんなよ PICのアホ信者: >>522->>524 応用製品とIC比べて鬼の首でも取ったかのように語る人 マイコンの値段で勝った負けたなんて、あまり意味ないよな。
人件費の方がずっと高いし。 >>530
所詮、小売単品の値段なんて高が知れてるしな
試作用の発注コストなんて、無料サンプルから量産時の数十倍までばらつくのであまり考えない そもそも無駄にデカい基板に乗っててなんのメリットがあるんだ?
蛇の目基板やプリント基板を作れない℃素人向けのモジュールなんて
小学生のお遊びにはちょうど良いかも試練が 試作むけなんじゃない?(世に言うブレークアウト基板)
ま、試作で満足して止まってる人ばかりだろうけど。 >>527
>PICで同等以上のモノが有ったら
根本を間違えてるお前がアホだ。
何でArduinoと同等の物をわざわざPICで作る必要がある?
逆だ、逆。
レイアウトから使うICから全部自分で自由に設計出来るメリットだ。
そういうArduinoが有ったら、貼った上で反論しろ。 CPUの中身(能力)で負けて、値段で負けて、PICファンもツライところだな。
AVRはもうすぐ生産中止になるから大丈夫、という負け惜しみレスはまだかw >>535
負け惜しみってのは負けた時言うものだからな、お前のレスのように。 製品自体の性能比較云々ではいろんな意見はあるものの、既に製品を買い取られた時点で
その後の扱いは見えている。
良いデバイスであったならその点を褒めるところで止めておけ。
今の時代(アセンブラの時代ではない)に組み込みデバイスの良しあしは既にCPUコアの比較では
語れない。周辺機能や開発環境・メーカーのサポート力を含めた創業力でしか判断してもらえない。 趣味で使ってる分には性能差も少しくらいの価格差もどうでもいい
別にAVRと比べるためにPICを使っているわけじゃないし
仕事で使う場合も、流通してるってことは需要があるからなんだろ なんかどうしてもAVRがディスコンになって貰わないと困る輩がいるみたいだね。 AVRはそのうちディスコン間違いないけど関係ないな。使う意味が無い。
秋月がDSPICを置かなくなってから通販で買うようになったけど
今日はこれをポチった。安くて早くて便利。PICはどんどん色んな機能が使えるようになって便利になるが、AVRは(ry
ttps://www.digikey.jp/products/ja?keywords=%20DSPIC33EP128GP502-I%2FSO >>539
どのレスからそれがエスパー出来るのかな?
どう見ても眼中に無いってレスばかりに見えるが。 AVRの残党がArduinoにすがって余命を無駄に過ごすのは自由だけど、
安くなったのはArduinoだけでなく、高かったPICkit3だって2000円しないで手に入るようになった。
つまり、低価格化のおかげで、PICの自由度の恩恵を被るためのハードルも下がっているのよ。
馬鹿にはArduinoの優位性という視点しかないのだろうけど。 ESP8266とArduinoIDEの組み合わせが安くて便利。 組み合わせる必要無いと思う。
ESP8266だけで済む。 >>543
すまん、頓珍漢な事書いた。
>>545
同意。 今8051系を使ってるけど、30年前にこのマイコンがあったのは
すごいことだと思うし現在でもそれなりに使えるけど
PICはPIC10Fや12Fのベースラインでも追加の回路が必要なく
いろいろなことができる点には、改めて感心しました
最低、必要でコストアップにならないところはちゃんと入ってる
ところがPICのいいところだと思います。
(内蔵RCオシレーターで1MIPSは扱いやすいと思う) PICを打ち負かしたら、このスレの人たちがPICを使うのをやめる
とでも思ってるのかな 性能で負けてるのか、じゃあAVRに乗り換えなきゃ、ってなるわけがないんだよなあ
皆がそんなカツカツで使っているわけじゃないし
AVRを推すにしても攻めるポイントがズレてる印象 ATMEL ICEのあの値段何とかしてからモノ言え、としか思わない。 PICスレでAVR推すのも、その逆も、場違いな煽り。CPUの比較スレは別にあるのだし、そこでやればいいのに。
https://rio2016.5ch.net/test/read.cgi/denki/1461285027 8bitマイコンに性能もとめてる人なんているのかよw
性能なら16bitマイコンや32bitマイコンの方がずっといいだろ >>553
Cortex-M0のフラッシュやRAMが少ないやつは既に低価格になってるよ
だけど、ARMの話はスレ違い フルアセンブラで組むとAVRと8ビットPICの差は大きいよ
この差が気にならない人は簡単なプログラムしか作っていないからでは?
(たとえば並列処理で組めるかなど) 性能を求めるならCortex-M0のマイコン使った方がいいぞ
アセンブラで組むのでも32bitのCPUの方がずっと楽だし、高性能
Cortex-M0の命令のほとんどが命令の長さは16bitだし、命令の数も少ないので覚えるのも楽
ARMはRISC CPUだけどアセンブラで組むのも楽だぞ
ARMの話はスレチだけど
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0432cj/DDI0432CJ_cortex_m0_trm.pdf 8bitマイコンは周辺も含めて評価しないと意味ないしな >>556
あなたの理解力では、アセンブラでないプログラムは簡単なんだね。
ずっとそのままのあなたでいてください。 >>556
確かに。
圧倒的にPICの方が使いやすいし、いい仕事出来るな。 実際に製品に使われるときは性能やコードサイズが問題ではなく
低コストで必要なことだけできれば他は必要ない。
自分が知っている実例ではトランジスタやロジックICを使った
回路の部品点数を減らすのが目的で、ほとんどが単純で低機能な
部分の置き換えに使用されているのでPIC12F675程度でもほとんど
機能を使っていない。
低消費電力な点が重宝されているような気がする
(実際、普段目にするものに意外と使われているのが面白い・・・
どこに使われているかは公表できないので自分で調べてください) プロは金儲けのためにやっているのだから
>低コストで必要なことだけできれば他は必要ない。
はその通りだと思う。
アマは人によって目的が異なるだろうけど、最低限必要な事は
「触っていて楽しい」
じゃないかな。
たとえ単機能の簡単な用途でも、AVRの詳細を知らなくても、
PICは楽しいと満足しているならそれで特に問題は無いし、
人にとやかく言われる筋合いも無い。
プロで、PICしか知らない(あるいはフルアセンブラでは書けない)、は問題だと思う。
・・・イヤ、それでも利益を上げているならOKか(笑) >イヤ、それでも利益を上げているならOKか
モノづくりのプロにもいろいろな階層やスタイルがあって、
それぞれの部品のことを全てのメンバーが共通で詳しい必要はないからな。担当者が必要な範囲でわかっていれば良い。
たまたまPICを使って高級言語しかわかってないとしても、問題がないケースなんていくらでもあるだろうね。 >>567
上流工程で仕様検討してる人間は、マイコンの機能とか言語とか知らないほうがいい場合もままある 趣味の場合の多くの仕様は、できるだけ性能がいいことだもんな。コスト度外視だから仕方ない。
考えてない性能はガン無視だから仕様温度範囲とか発熱とか考えてないし。 プロはC言語でもアセンブラでも仕様書どうりの機能があり
低価格であれば内容は全く関係ない
しかし、ピン数やメモリー容量や価格ではPICの方が
選択肢が多い、AVRのTinyシリーズは低価格だと容量少ないし
容量多いのは極端に高いのが困る
容量xxKBと書いてあっても実際は半分のステップ数しか入らない
ので意外と使えない場合が多い・・・・
(Tint13は512ワードでTimerは1つしかないしな〜〜〜〜) いまどきそんな斜陽産業でプロやってる人は大変そうだなあ。
プロは、プロは、と連呼しながらこんなところで愚痴っててかわいそう。
趣味で良かったわ。 仕事ではRL78使わされるけど個性が無さすぎてつまんない
その点PICもAVRもESP8266も良いとこダメなとこキャラが立っていて
うまく使いこなす楽しみがあるから趣味では好んで使ってる 斜陽産業とか煽って楽しいのかと思う。
聞けば不快に思う人もいる一方で、言ってる方にもメリットはないと思う。
と、俺がこんなことを言うと、>>572は不快に思うかもしれないが、
マイノリティに大きい損失が偏るような場合を除けば、社会全体の不快の総量は減るほうが楽しいよね。
お互いに煽らない方が幸せだと思います。
>>574
わりとそういう意見を見ますが、PICもAVRも職業人が使ってるからこそ存在してます。
そういう仕事をしていないだけですよね。 やだぁ
パパったら小学性の実の娘のお膣のなかでおちんちんPICPICさせてる・・・ >>576
>そういう仕事をしていないだけですよね。
激しく同意。 >>576
5chで「プロはー」とか書いてる段階で、斜陽な産業に属していると見られても不思議はない。
にもかかわらず「プロはー」とか上から目線なので煽られる。
メリットの有無は無関係な上に、相対的なものだから、不快あっての愉快。
あなたみたいな修行僧ばかりになったらつまらないので、山に籠っててください。 >>579
以前にめっちゃ栄えて、今ぱっとしない産業はいくらでもあるけれど、そのことを
悪意と取られても仕方のない「斜陽」と表現することに躊躇はないのかなあってのが第一だし、
趣味で楽しめるのもその産業から流れてくるもののおかげなんだけどな。
誰かを不快にすることで自分が愉快になればいい。言論、表現の自由だ、か。
あなたがこういう考え方をする種類の人なのはわかったし、平行線だな。この話はスレチだしやめよう。 ここにいるプロの人達って秋月のDIPタイプPICも使ってるの?
基板おこしても送料込み一枚500円で済む時代に
プロがユニバーサル基板でDIPに半田付けするイメージが沸かない PICのLピカで質問さしてください
PIC18F2550というPICでLピカをやろうとしています
RB0ポートに
RB0―――――LED――――R――――GND
こんな感じでLEDと抵抗をつけて、RB0ポートを出力にしてLEDは光るんすが
光りっぱなしでピカピカ出来ません
で、いろいろ調べたところ
LATBbits.LATB0 = !LATBbits.LATB0;
この書き方だとピカピカ出来なくて
TRISBbits.TRISB0 = !TRISBbits.TRISB0;
これならピカピカ出来るようになりました
(続きます) TRISの設定を変えてピカピカさせることが出来るのは理解します。
ただなんでLATの制御でLEDを点滅させられないのか分かりません >>581
商品をユニバーサル基板の手配線で組む事はあり得ないと思う。
(DIP、面実装に関係無く)
試作なら色々と変更が可能なユニバーサル基板で組む事はあると思う。
そういえば、私の友人(ある大手企業の中間管理職)が
「近頃の若い奴は何でもすぐPCBにする」と怒ってたなw 仕事でユニバーサル基板は実験までだな。商品に向けた試作ならP板にでも頼む >>580
スレチというか、法事にでもジジイ、ババアに説法してやれや、坊主。
お前の話は、誰も反論してこないような死んだ環境にこそ似合う。 >>ID:FeOE28FC
>>577を大きく印刷して首から下げたまま駅前で質問しろ。 >>581
お前のレスはピンぼけだ。
プロかプロでないかに固執するあまり、
作成プロセルのうちのどの段階のことを言っているのかが曖昧だからだ。 今、手元にPICで試せる環境がないのだけど、なんで
>LATBbits.LATB0 = !LATBbits.LATB0;
で点滅できないのだっけ。
これで、ビット操作はできるはず。(全角だから駄目という冗談は抜きにして)
出力設定になっていないのだとしたら点灯しっぱなしはないだろうし。
>TRISBbits.TRISB0 = !TRISBbits.TRISB0;
これで点滅できている、ということは LATBbits.LATB0 が1に設定できているっぽい。
謎。というか何か見落とししているのかな。 お前ら鉱山攻撃にガンダムは必要ないって知らんのかw どれぐらいの明るさで光ってるんだろう。
内部プルアップの微弱電流でもぼんやり光るかな。
内部プルアップを有効にして、当該ポートを入力にしていたら、
LATにかかわらず点灯しっぱなし。
TRISをトグルさせたら、点滅はしそう。 手元のPIC18F14K50で>>595を試してみました。
RB0がないので代わりにRB7だけど。
>>583と似たような現象が作れました。
内蔵プルアップを有効にした状態で
●RB7に繋いだLEDが(暗いけど)点灯しっぱなし。
TRISBbits.TRISB7=1; //間違って入力に設定
while(1){
LATBbits.LATB7 = !LATBbits.LATB7;
-時間待ち処理-
}
●RB7に繋いだLEDが(暗いけど)点滅。
TRISBbits.TRISB7=1; //間違って入力に設定
while(1){
TRISBbits.TRISB7 = !TRISBbits.TRISB7;
-時間待ち処理-
}
●RB7に繋いだLEDが明るく点滅(この場合は内蔵プルアップは関係なくなります)
TRISBbits.TRISB7=0; //ちゃんと出力に設定
while(1){
LATBbits.LATB7 = !LATBbits.LATB7;
-時間待ち処理-
} >>596
LATBbits.LATB7 = !LATBbits.LATB7;
で、ビット反転自体はちゃんと出来ますよ。
でも、「xxx = !xxx;」も「xxx = ~xxx;」も、驚くほど冗長なコードが生成されました。
(XC8 Freeのデフォルトですけど)
if(LATBbits.LATB7)LATBbits.LATB7=0;
else LATBbits.LATB7=1;
が一番素直なコードを生成してくれました。
ところが、
LATBbits.LATB7=(LATBbits.LATB7?0:1);
だと、xxx = !xxx; と似たような冗長なコードになりました。謎。まあこんなものかな。 >>597の2つめは、
ループに入る前に、
LATBbits.LATB7 = 0;
になっている、ということで。
LATBbits.LATB7 = 1;
にしていれば、明るい点灯と暗い点灯を行き来することになりますね。 >>581
一品モノの評価ジグはユニバーサル基板にDIPタイプ
量産品はそもそもPIC採用禁止になってる我が職場w 「製品に〇〇禁止」(〇〇は世間ではわりとよく使われているもの)っていろいろな理由がありそう。
・〇〇に関わる部分で酷い不良を出した
・〇〇のサポートで困ったことがある
・代理店と取引がないから
・採用実績がないから
・権限のある人がその〇〇関係者と喧嘩した
・系列外
>>602
量産用にPICを購入するのに、購買が英語を使わねばならないことってあるのかな? >>601 納短・コストダウン交渉が厳しいのとエラッタ放置やね
このあたりはルネの方が1枚上だけど要望に応えすぎて経営やばくなったりするから悩ましい マクニカとかリョーサンとか大手どころもMicrochip の代理店だしそれはない>603 >>581
プロじゃないけど8〜18Pinマイコンとかでブレッドボードに挿してすぐ試せる内容用にDIPを2個買って面実装タイプを数十個買って使ってる プロでブレッドボードって使ってる人いる?
俺は回りではみたことない。使ってたらそこには発注しない >>607
おれなら君の会社(というか君)には発注しないかな(爆笑 >>607
最近どういう状況で使ったかなと考えて、思い出したのは
LEDのVf電圧、リセットICのヒシテリシス電圧、水晶の発振周波数、DCDCコンバータの出力電圧
など。
要するに簡単な動作チェックでブレッドボードを使う事が多い。 A/D変換するときスリープにして割込で読み込むようにするとノイズの影響を減らせて精度があがるってデータシートに書いてあるけど、みんなそうしてる?
その効果は如何ほど? そういえば>>597の確認をするときにブレッドボードを使った。
こんなときにも便利。
とやかく言う他人はどうでもいい。 >>612
ほー。簡便にポーリングして待つよりは良いかも。
下位ビットがばたつくようなケースならためしてみよう。 おまえら、LEDチカチカもまともにできないのかよ w LEDチカチカなんて
夜店玩具買ってばらしてそのまま使うだろ >>607
手っ取り早く結果が分かれば手段はどうでも良いと思うけど、何でブレッドボードがだめなの?
理由を教えて プラグインのHarmony-conf重てえ
なんやねんこれ
クリックして反応するの5秒とかかかるわ
まぁPCボロいから仕方ないんだけどな >>617
接触抵抗と容量とインダクタンスが管理できますか?
まったく気にしない人ならいいんじゃね。もしくは絶対に影響ない回路とか。 >>619
その辺が影響するような回路ならブレッドボード使わないだけだろ
馬鹿なの?リアルで馬鹿なの? デジタル回路なら部分的に動作チェックする程度で使用することはあります
大規模に回路を組むことはありません
パーツによってはデータシートどうりに動作しないこともあり
対策を探るときに使ったりしています オフィスのデスクでハンダが使えない時に
部品と電源とブレボ持ち込んで動作確認することはある >>619
アナログ回路の特性をブレッドボードで評価するって話は論外でしょ
そもそもここはPICスレだし(笑) >>624
その論外をする人がいるって話だよ。
まるっきり低速なデジタル回路のみで動作確認とかそんなに多くあるケースじゃないしね
しかも仕事でそれでデバッグとかするんだよな。ボードをゆすると割込あがったりAD値変わったりするレベル。 >ボードをゆすると割込あがったりAD値変わったりするレベル
それは確かにマズいけど、揺すらなければ良いだけの話しでは。
なんてしょうも無いツッコミは置いといて、ちよっと思い出した事がある。
以前、使い続けたブレッドボードのソケットの接触抵抗が心配になったので、
分解して手入れ(バネ圧を高めた磨いたり)を試みた。
しかし残念ながら接着剤で固着されていて分解できず、
あげくに無理をして1台使用不能にしてしまった・・・グスン
なお、ヒロセのHIF3シリーズのコネクタを多く使っているけど、
抜き差しを繰り返すと緩くなってくるので、
たまに接触部のバネを細いドライバーなどで押している。
https://www.bing.com/images/search?q=%e3%83%92%e3%83%ad%e3%82%bb%e3%80%80HIF%ef%bc%93&qpvt=%e3%83%92%e3%83%ad%e3%82%bb%e3%80%80HIF%ef%bc%93&FORM=IGRE バネ圧を高めた磨いたり → バネ圧を高めたり磨いたり
(ゴメン) ルネサス 100MBのフラッシュマイコン実現にメド
ルネサス エレクトロニクスは2017年12月6日、
16nm/14nmプロセス世代以降のフラッシュメモリ内蔵マイコンの実現に向けて、
フィン構造の混載フラッシュメモリの大規模動作に成功したと発表した。
これにより、次世代マイコンにおいて、
100Mバイト超の大容量フラッシュメモリの内蔵化に向けたメドを得ることができたという。
http://eetimes.jp/ee/articles/1712/06/news073.html >>628
そ、そんなぁ。1レス入魂で書いたのにw
ブレッドボード使っている人は接触抵抗を気にしないのかな?
リード線の太いのを挿すときも「ゆるくならないかな、大丈夫かな」と少し気になる。 あ、ゴメン、>>625 は気になるってレスだったね。 まだかなぁ、>>631 への「大丈夫だよ、誰も真面目に読まねえから」レスが欲しかったのに・・・。
待ちきれないからもう帰る。 みなさん、汚してスミマセン。 >>629
MRAMみたいなメインメモリにも外部記憶にも使えるようなメモリをたくさん乗せたマイコンがほしいな
実行速度はPICの16ビット程度で充分なので。
スレチごめん >>633
TIの一部のマイコンがFRAMですね。小規模ですけど。 >>630
いちいちきにすんなよ。ケチつけるだけの人なんか。 やっぱ日本は中国、インド負けるよなあ
あと何年もつやら
NYTから
China Will Lead an Electric Car Future, Ford’s Chairman Says
https://www.nytimes.com/2017/12/05/business/ford-china-electric-cars.html
Google Missed Out on China. Can It Flourish in India?
https://www.nytimes.com/2017/12/05/technology/google-india.html なんかいつの間にかPIC32MKってのが出てるんだな
なんかデータシート眺めてたら使いたくなってきたぞ MK買って色々試してるわ
QEIが複数あると楽できそうな案件があるから買ってみた
とりあえずLチカとデバイスUSB-CDCは動いた
初32bitPICだったんだけどHarmony使うと初動が楽チンだねぇ
ほんでもHarmonyでタイマーライブラリ使うとリセットかかる
(手書きのタイマー操作では問題無く動く)
なんでや、、、
ライブラリ&エラッタとの戦いや JK買ってロリータ円光
エロチラとパイずりホモって まで読んだ みんな、どのバージョンのMPLBとプログラマ使ってる?
オレは X 3.65 Pickit3 旧V8.92とHitechC9.83とPickit3
非力な小型PCを現場に持ち込んでチューニングする機会が多いので
軽快さが命 バージョン固定する趣味は無いのでその時の最新 &pickit3 さすがに今更X無しのMPLABを使う気にはなれんな
俯瞰的にみてもMPLAB Xのほうがいろいろ便利だわ
動作速度もPCの性能が上がってまったく気にならなくいなったし 初めて使うのに8.92とかだったら情弱と呼ばせてもらうところだが、
初心者スレじゃないんだし、何でも好きなの使えよ。
古い開発環境も整うのがPICの売りなんだからさ。 >>647
うちもコンパイラがCCSCと純正使ってるが、ほぼ同様な理由でV8.92とPicKit3
ブレークポイント複数張りたい >>645
X 3.6 ICD3使ってる、たまにPickit3 仕事なら「使いもんになんねー」って充分なの調達させる >>642
未だ32ビットは未体験なんだがPIC32とHarmonyって何ができるようになるのか教えてくれないか?
用途は趣味。
8ビットPIC、MCC3でCDCはやったことある。
面白そうな事が今より簡単なら挑戦してみたい。 >>656
Code Configuratorなので煩雑さが軽減される。
今まで出来なかったことが何か出来るようになるってのとは違う。
億劫だったことが気軽に試せるようになるって感じかな。 Xは、と言うか、XC8の問題だけど、アセンブラの擬似命令が貧弱過ぎて
使う気が起きないな。 もっと多くのI/Oが扱えるし、同じ機能でも設定の振り幅が大きい。 >>661
そうなんだ。
俺の趣味だと32ビットが必要な状況がないからなぁ。 趣味だから何でやってもいいんじゃないの?
仕事だとそうはいかないねぇ >>660
MPLAB Harmony Configurator
MPLAB Code Configurator
どっちもconfiguratorだからね、似たようなもんでしょ。
両方使ってみたけど、あたしにゃ違いは良く分からない。
ライブラリが違うのかもしれない。 32ビットだからって固くならなくても18Fの代わりにつかっても同程度の値段だよ >>665
そうなんだよね
5Vじゃないととかが無ければ、32bitのやつでいいと思ってる >>665
バッテリ駆動品を作ることが多いので、
データシートで見ると消費電力が大きくて、ちょっと躊躇しています。PIC32。
でも使わないと、きっと損してますね。 >>667
同じクロックで考えると極端に多いわけではないと思います
処理内容にもよりますがより早く処理ができるものも多いので
速く処理を終わらせてSLEEPやIDLE状態にすることも可能ですし
メモリー容量も多いものを選択できより多くの機能を入れることができます
dSPICよりは高速で消費電力が少ないと思いますが C言語でのPIC制御の記述についての質問なのですが
入出力ポートの数値(例:RA0の0)をループで変化させながら
RA0 =1;
RA1 =1;
…
のようにするにはどの様な構文になりますか? MIPSはフラグが無いってのが意味分からなくて
なんか怖いって気持ちと一度使ってみたい気持ちとがせめぎ合っている >>670
アセンブラで書く人以外フラグレジスタの扱いを気にする必要ないでしょ。
アセンブラで書く人なら怖いとか言わないで調べて論理的に対処するでしょ。
で、何が言いたいの? >>670
どのレジスタもフラグになり得ると考えたら? >>673
人間誰しも論理的に考える前にまず感情が出るものですよ
>>674
めっちゃ便利そう! 使ってみる! >>677
ガキじゃないんだから、
感情の大向くままにレスした自分を恥じこそすれ
自分で肯定することは無い。
実に見苦しい。
あ、ガキだったなら御免、さっさと寝ろ。 家で不労所得的に稼げる方法など
参考までに、
⇒ 『武藤のムロイエウレ』 というHPで見ることができるらしいです。
グーグル検索⇒『武藤のムロイエウレ』"
DXZJO42LHH インテルはエラッタ騒ぎ
picはエラッタでもスルーw PICは高電圧掛けるとプロテクト外れるとかあったなー MCT(マイクロチップテクノロジ)のエンジニアは常に前だけを向いており、
過去のエラッタなんかに構っているヒマが無いんだよ(笑)
8ビットから32ビットまで、自社製品だけでは自信が無いのでAVRまで買収し、
下手な鉄砲も数打ちゃ当たる、ってのがMCTの方針だけど文句ある?(笑) 文末に「(笑)」とか久々に見た
まだそういう書き方する人いるんだね・・・ ルネよりディスコンないだけましだろ
フネなんて、どれだけ鉄砲そのものを打っては捨ててきたと思ってるんだ >>685
AVRの件の傷がまだ癒されてないんだね。
かわいそうに(棒) ルネは20年選手の78K0までよく維持してこれたなぁと思うけど
さすがに旧式設備を稼働しつづけるだけの体力尽きてついにディスコンの嵐…
PICは同世代の16C54や12C508はまだ入手できるけど、いつ生産中止になることやら ルネサはデスコンティは仕方ないっちゃあ仕方ないからまあいいんだけどさあ
デスコンティにあわせて関連ツールとか一斉に公開終了しちゃうのが糞杉 8ビットのPICはちょっと複雑な処理になると能力不足で、使ってて面白くない。
16ビットPICはエラッタだらけだし。 インテルもARMもAMDも、なにやらにわかにCPUが脆弱だと騒がれているようだが、マイクロチップは・・・・ 投機実行なんかしないからPIC 8bit 16bit PIC32のMX MZは問題ない RL78は、R8Cより78K0の方がコスト安いから残ったんだよね。確か。
R8C(M16C)のニーモニックの方がCのコードを逆アセンブリした時に
理解しやすかったから好きだった。
RL78の逆アセは追う気起こらない。 90年代の組込屋さんにはPIC派、H8派、M16C派と居たけど
当時一番不人気だった78Kが生き残るとは想像もしなかった…
アセンブラでの組みやすさと性能コストのバランスで言えば
M16Cが一番使ってて楽しかった記憶がある >>702
Mのハードウェアマニュアルが、わかりやすかった。 >>702
90年台ならPICはそれほど多くなかったんじゃね?z8の方が多かった気がする。 Z8懐かしい、一時期、よく使っていた。
汎用レジスタ16個×8組のバンク切り替え方式なので並列処理も作りやすかった、と記憶している。 無知で申し訳ありませんが質問させてください
以前興味本位で購入したPIC Kit3があります。
最近Pythonの勉強をはじめており、ここを統合
(Pythonで書いたコードをPICに書き込むことは可能か)を知りたいです。 出来るよ
俺はここ最近はもっぱらPICもpythonで開発してる でも、PICのプログラムを高級言語で、ってことならC言語が一番無難な気がします。
参照できるWEBの情報も豊富だし。 最近初めて、初心者が勉強のためにするなら、
素直にラズパイあたりを使っておいたほうがいいような気がするよ
>>707はpythonの勉強必要じゃない人じゃないかな IPEのsettingのPICKIT3のプログラミングスピードの変更が有効にならない。
ICD3もPICKITも、配線が20cm位超えるとエラーになるので、ボーレート落としたい。 20cmって結構な長さだけどそれでも足りないなんてのは
基板設計
筐体設計
サービス運用
のどれか(または複数)間違ってんじゃないの? 基板にコネクタが置けなかったのでスプリングピンで中継したことがあるけど、
実験中はPICKIT3に全長500oくらいで数10回以上書き込みしたがエラーは起きなかった。
その後、なるべく短くして全長250mmくらいにした。
数千台以上の書き込みに使われたはずだけど書き込みエラーの苦情は無かった。
ターゲットの回路や電源供給経路、配線の引き回しとかを疑った方がいいんじゃないか? 同じく50cmくらいの長さでPickit3とICD3使ってるけど問題ない
ICSPに何か原因があるのではないかと マイクロチップのサイトにPICkitは製品の書き込みには使えない
という意味のことが書いてあって、2ちゃんで「おかしいんじゃないの?」
と書き込んだら猛反発を食らったことがあるんだけど、実際のところは
どうなんだろうね。
実際に書き込んでいるのはPIC内蔵の書き込み回路とシーケンスなのでPICkit
だろうがICDだろうが変わらないような気がするんだけど。
http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=PG164130
>Note: The PICkit 3 In-Circuit Debugger/Programmer is NOT a production programmer.
>It should be used for development purposes only. >>716
何年か前にもそれで荒れた記憶がある
たしか結論は、プログラミング仕様最小最大電圧付近の
書き込みにおいてプログラマが電圧異常検出対応出来ない
とかじゃなかったかな?
Pickit3だと電源供給出来るくせに電圧異常検出出来ないとかで
余計アカンとかなんとかだった記憶がある
外部安定電源で余裕をみた電圧仕様を満たしてれば
問題無いと個人的には判断してるけど、
まぁ一応ICD3使ってるな Pickit3で電圧供給5.0Vにするとなぜか電圧不足エラーが出る…
4.75Vあたりにすると安定して書き込めるようになった
LFシリーズには5V掛けるな!という警告も出るので
3.5Vあたりで使うようにしてる そんなにpickitの電源供給に頼ってる人多いのが意味不明 インサーキットで書き込む場合、ターゲット基板の他の回路との電源投入シーケンスやバックアップもろもろ考えたとき、pickitから電源供給されたら迷惑なことばかり。
ソケットアダプタなりを介した単体書き込みの時、わざわざ別に電源を用意しないで済むという程度に考えるのが妥当。 >>720
マイクロアンペアで動作する回路で、基板上の電源回路も相応の電流容量しかないときは、
基板上の電源回路を切り離してPICKITから供給してます。供給できるのも便利っていえば便利。 >>721
消費電流が少ない=OK
ではなく、回路にどんな素子が使われているかが重要です
電源ラインに大きなコンデンサやインダクタが使われている
または、レギュレーターICが回路に影響を与えるものが使われとぃないか
(昇圧、降圧レギュレーターが使用されている)
など、注意が必要です マイクロアンペアで動作する回路だと、却って気を使うわ
PICKitそのままつないでプルアップやらで電源引っ張られたりノイズ乗ったりしないのかな >>722
>消費電流が少ない=OK
とは言ってないですが…。アンカーミスですかね。
>>723
プログラミングにおいてノイズがうんたらかんたらは、>>720さんが書いておられる
「ソケットアダプタなりを介した単体書き込みの時」とたいした違いはありません。
普段の工作とは違う、ということで油断しないのは結構なことですけど、
必要以上に気を使うほどのものでもないです。 あっちのスレで、エラッタについていろいろ言われてるけど、
本当にエラッタで苦しんだ人がいるんだろうか。
あんな程度では済まないんですけどね。 引っかかる奴は鈍臭いプログラムしか書けない奴が殆ど。
Cしか出来ない奴に多い。 手っ取り早く不具合を回避するのにはアセンブラで書いてしまった方が早い。
しかし異常原因を特定できた後、最終的には可読性や要求ドキュメントの都合で結局はCで書き直したりすることになるが。 >>728
Cしか出来ない奴は考え方も鈍臭いから、何で書こうと鈍臭いプログラムしか書けない。
俺もべつにCを使わない訳じゃないけど、シリアルとメモリ上に確保したFIFO間のやり取りはアセンブラで書いてる。
Cなんかで書いたら、オプションやバージョンでどうなるか分からないし、バージョンUPの度に検証なんてするのは無意味。
ま、Cしか出来ない暇人なら良いんじゃねw Cしか出来ない頭の悪いヤツは何言っても無駄
馬鹿にされるだけだ >>731
俺は「シリアルとメモリ上に確保したFIFO間のやり取り」をCで書けばいいと思う。
どう違うのか教えて欲しい。
>>733
それ。
「シリアルとメモリ上に確保したFIFO間のやり取り」をBASICで書いてもいい。 今どきのCコンパイラでシリアルとFIFOのやり取りをアセンブラで書かないといけない理由が思いつかないんだが、
何があるんだい?
ハードウェアを直接操作する部分だけはCソース中にアセンブラとして埋め込む必要は出てくるが、
それすらもマクロ化すれば何の問題もない。
そもそも考え方とCやアセンブラの言語は直接関係が無い。
Cでは出来ないがアセンブラでなら出来ることは極めて限られている。 思いつかないなら「そのレベル」って事だな。ちっとは自分で考えてみろ。
だから考える能力が付かないんだよ。Cしか出来ない奴の典型。 自分のスキルを誇示するだけで具体的なことは書けない人に聞くだけ無駄 ℃玄人登場
[Cしか出来ない]
[鈍臭い]
[℃素人]
がキーワード
PICしか知らない
8ビットしか知らない
アセンブラしか知らない
頭の弱い人 PIC10F200:
・ROM: 256 Word
・RAM: 16 Byte
こんなスペックのヤツ見て、そもそもCでやろうと思うか?
もしそうならな、その程度のレベルって事
ROM/RAM 豊富なヌルイ・ヤツしか使った事無いんだろ まーた始まったよ
このスレはメビウスの輪の中にあるのか? リヤカーを見て、そもそも高速を走ろうと思うか?
もしそうならな、その程度のレベルって事
エンジンのついたヌルイ・ヤツしか運転した事無いんだろ
おっしゃる通りです。 >>738
そうそう。自分で考えようとする意思の無い奴は聞いても無駄。 >>736
>そもそも考え方とCやアセンブラの言語は直接関係が無い。
残念ながら、Cしか出来ない奴のプログラムはアルゴリズムが滅茶苦茶。
それが現実。 >740
確かにそうだね。
ついつられてしまった、反省。 >>745
うそこけ
どっちかというとアセンブラしかできないやつのほうがアルゴリズムが無茶苦茶
しかもPICの8Bitみたいな特殊なのを長くやってる奴ほどひどい
さらに人のいうこのに耳も貸さない。
客先に、言語はともかく最低、構造化で可読性良いものを、とか言われても守れない
アルゴリズムといえばフローチャート描くことだと思い込んでたりする
当然いつまで立ってもプログラマどまりで、システムエンジニアとプログラマの区別も付かない
そんな年上の爺が部下にいると最悪 アセンブラは可読性悪くなるの当たり前だのクラッカーじゃね?
つーかだから高級言語がうまれたんじゃね?
可読性をとるか?
1クロックを大事にした速さを大事にするか?
自由なんじゃね? つーかおれにとってはロストテクノロジーのUVEPROMメモリーの
プログラム機の作り方知ってる
じっちゃんいない?(笑) 1命令4クロックもかかるPICのスレで
1クロックを大事にとか
笑える >>753
キャッシュと分岐予測してなくて良かったでしょ
あなたのPICがクラックされるところでしたよ 32MXはパイプラインあるからサイクルちょっと違う パイプラインが無いマイコンなんてあるか?
現行品で >>752
データシートに書き込みシーケンス書いてあるだろ? >>777
777ばっかり使うから、ナンバーに英文字が使われるようになったんだよ。 >>778
7って強い力を持つから、幸運とは限らないのにな。 奇数って、落ち着かないよね。偶数は、なんとなく気持ちいい。
12が好き。 1でも2でも3でも4でも6でも割れるし。 >奇数って、落ち着かないよね。偶数は、なんとなく気持ちいい。
素数が好き
「天上天下 唯我独尊」って感じ字がする 32MZでIOポートのトグルやってるんだけど
最高周波数6.4Mhzしか出ないんだけど
なんで? >>787
そのようにプログラムしてるからじゃないかな。 >>788
IOの設定クロックって
PB4DIVでしょ?
これを0に設定して
180MHzをシステムクロックで設定してるんだけども? 一回のトグルに14クロックか
確かに遅い気はする
ディスアセンブルの結果はどうなってる? 6.4MHzなのは確か?
命令キャッシュは効いてる?
ソースは?
ディスアセンブル結果は?
そもそも、何MHzになることを期待してる? >>786
2人の希望を満たす自然数は1個しか存在しない >>790
>>791
いまみてみたら
LATBbits.LATB3 = 1;
と
LATB= 8;
じゃasm命令数が違ってたLATB=8のほうが少なかった
それでも22.5MHzまでしかあがらない portとかlat命令は最低でも3命令ってことなんか?
cのディスアセンブルは初めてやったよ
MIPSになってからCしか使ってなかったからいい勉強になった
ありがとう! while (1){
LATB = 8;
LATB = 0;
LATB = 8;
LATB = 0;
LATB = 8;
LATB = 0;
LATB = 8;
LATB = 0;
}
これで何ヘルツ? LOOP:
LATBINV = 8;
LATBINV = 8;
LATBINV = 8;
LATBINV = 8;
LATBINV = 8;
LATBINV = 8;
LATBINV = 8;
LATBINV = 8;
goto LOOP;
これは? レジスタのアクセスにウェイトがかかるから、
3クロックくらいはかかるかもね
-----
あと、速度とは関係ないけど
レジスタの書き込みは
SET, CLR, INV を使うべきだよ
そのまま大入だと操作したいビット以外も書き込んじゃうので
つまり、
LATB |= 8;
LATB &= ~8;
LATB ~= 8;
じゃダメ
割り込みハンドラやマルチスレッドOSを使った時に悪さをする
趣味のプログラマだとこういうところは知らない人が多いと思う ×大入
○代入
microAptivにはアトミックなビット操作命令があるんで
アセンブラを使うならLATBに対してこれを使っても良い
ASET
ACLR
リードモディファイライトなので、
速度的には遅いかも知れないけど
普通のメモリにも使える >>787
フラッシュのアクセスタイム。
ウエイト無しで動くのは、25MHz位まで。
コードをRAM 上で実行させれば良い。 >>794
コンパイラの最適化の設定はやってる?
>>795 も >>796 もそれぞれ各代入が1命令になる
optimizaion-level を1までなら無料コンパイラでも設定可能
デフォルトの最適化なしの0だと各3命令になるので計算と合う
ウェイトが違うかもしれないけど、
PIC32MMでやったらちゃんと1クロックで動作した DAがmicroAptivで
EFがM-Classだった
>>789のはどっち? >>800
180MHzクロックで22.5MHzくらいが最高みたい
>>802
まじで?
ディスアセンブルやってそのひとつのコード(アセンブリ)おしえて?
インラインアセンブラでやってみようかな?
optimizaion-level を1でやってみたけどこっちはだめだった
>>804
252 MHz (up to 415 DMIPS) M-Class >>805
今はみれないけど、
事前にレジスタに書き込む値と書き込み先のアドレスを入れておいて、
ループ内部はストア命令(SW)によるただの代入が続くだけ
だったと思う LUI V0,-16506
SW ZERO,304(V0)
LUI V0,-16506
ADDIU VI,ZERO,8
SW V1,304(V0)
j 0x???????
ループさせてるからj で多分ジャンプさせてループさせてる ?に番地が入ってる
インラインアセンブラでこのまま書き込んでもコンパイルエラー起こすんだけどなんで?
なんかライブラリ必要なん? !void func(){
!loop:
! LATBINV = 1<<8;
0x9D003668: LUI V1, 0xBF80
0x9D00366C: ADDIU V0, ZERO, 256
0x9D003670: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D003674: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D003678: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D00367C: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D003680: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D003684: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D003688: SW V0, 11500(V1)
! LATBINV = 1<<8;
0x9D00368C: SW V0, 11500(V1)
0x9D00368E: ANDI S1, A2, 0x40
0x9D003690: B 0x9D003671
0x9D003692: NOP void func(){
loop:
LATBINV = 1<<8;
LATBINV = 1<<8;
LATBINV = 1<<8;
LATBINV = 1<<8;
LATBINV = 1<<8;
LATBINV = 1<<8;
LATBINV = 1<<8;
LATBINV = 1<<8;
goto loop;
} >>810 のコンパイル結果が >>809
微妙にポートの位置が違うけど同じでしょう
最適化をしないと>>808みたいな感じ アセンブラで書くなら以下
拡張子を .s にしてプロジェクトに加える
Cの宣言は extern void func(void);
C++の宣言は extern "C" void func(void);
※アドレスは各マイコンに合わせて
----
.text
.global func
func:
lui $v1, 0xFB80
addiu $v0, $0, 8
loop:
SW $v0, 11500($v1)
SW $v0, 11500($v1)
SW $v0, 11500($v1)
SW $v0, 11500($v1)
SW $v0, 11500($v1)
SW $v0, 11500($v1)
SW $v0, 11500($v1)
SW $v0, 11500($v1)
B loop >>812
例えば
インラインアセンブラで
0x9D003668: LUI V1, 0xBF80
を書くとどうなるの? >>815
>>809 だとCが混じってるじゃん
あとインラインアセンブラでの
MIPS命令の書き方
たとえば
0x9D003668: LUI V1, 0xBF80
をインラインアセンブラでかくとどうなるの?
作法とか・・えtc あと
test_144pin.c:1:0: warning: Compiler option
(schedule insns) ignored because the free XC32
C compiler does not support this feature. [enabled by default]
フリーから最適化の設定1でやると警告出るんだけど? インラインアセンブラでかけば最適化かんけいないやん?
作法知ってる人いない?
NOPは通常通りかいてコンパイルできるけど
ほかができない >>816
Cでのインラインアセンブラの書式は"inline assembler"で検索すると上のほうに出てくる >>821
https://ux.getuploader.com/turbo1/download/961 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) AD変換チップ100MHzをIOから制御して
100MHzサンプリングADCやろうとおもったけど
内蔵のADCで16MHzサンプリングのほうがいいってことなんかな? IOのなんかエッジ制御やんないと綺麗に波形でないけどね プログラムが下手だと速度が出ない
って>>821にも書いてある >>828
ヘタも何もLATのON、OFFだけだかんなw
あとはPBDIV設定をSYSキーからやるだけやし LATBbits.LATB3=1;
と
LATB=8;
だとLATB=8;のほうが処理速度が早いとかいうマニアックネタわかってよかった(笑) https://ux.getuploader.com/turbo1/download/962
50MHzのMXでも24MHz出る
ループの命令を入れたら計算通り 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) >>825は
LATのON/OFFだけでも下手な人がいるという例 >>832
0x9D003670: SW V0, 11500(V1)
! LATBINV = 1<<8;
ここのディスアセンブルってどうなってんの? 50MHz動作で16個のパルスに33クロックかかってるので計算上は24.2424MHz
オシロの計測が24.2427MHz
誤差0.001% ディスアセンブルちゃんと表示してくんないと信用できないなぁ
Cが混じってるじてんでなぁ(棒読み) PICの8ビット16ビットのアセンブラとアーキテクチャが違うから命令も違って
まだ理解しづらいけど
多分計算上あってる
経験的な直感だけども・・・ CPU⇔システムバス⇔ポートIOでのアスセスがネックって事かな?
バスマトリックス関連とキャッシュ関連のレジスタ見なきゃわかんないね
システムバスの切替とかでwaitかかってるんだろうけど
レシピ見ないとディスアセンブルだけでは分からんと思うよ コードが>>808だから速度が出ないのは当然なんだよ >>812をXC32-gccのインラインアセンブルで書きたいならこうすればいいのでは?
__asm__(
"lui $v1, 64384\n\t"
"addiu $v0, $0, 8\n"
"loop: SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"B loop\n"
); あと、xc32-gccの最適化オプションは-O1までならFree版できるぞ
-O2や-O3はFree版では無理だが Cの変数を参照したり、変数に書き込む場合はこんな感じか
簡単な例)
int xx01, yy01, zz01;
yy01 = 10;
zz01 = 20;
/* xx01 = (yy01 + zz01) * 20 + 1 */
__asm__(
"addu $8, %1, %2\n\t"
"li $9, 20\t\n\t"
"mul $8, $8, $9\n\t"
"addiu %0, $8, 1\n\t"
: "=r"(xx01) /*出力オペランド*/
: "r"(yy01), "r"(zz01) /*入力オペランド*/
: "$8", "$9" /*ワークレジスタ*/
);
printf("xx01 = %d\n", xx01);
XC32は基本的にGCCなのでGCCのインラインアセンブラの解説が参考になるよ
例えば、こんなところ
ttp://d.hatena.ne.jp/wocota/20090628/1246188338 いや、そんな何行にもまたがるなら
素直に普通のアセンブラにしなよ >>840
わかってない奴はくちだすなよ(笑)
>>841
サンキュー!参考になった >>837
いまインラインアセンブラでコード
"SW $8, 304($v0)\n\t"
"SW $zero, 304($v0)\n\t"
これでトグルして
実測してみた
やっぱ22.5MHしか出ない!ディスアセンブルもして確かめた! MOVLWとかじゃないから混乱したけど
使ってなんとなくわかってきたw
MIPSアーキテクチャに直に触れた感じだぜ(笑) MZシリーズで
RAMで命令を実行する方法
って知ってる人いる? RAMの番地にジャンプすればいいだけ
コードとデータのキャッシュが別なので、
コードのコピー後はキャッシュのクリアを忘れずに わざわざ、キャッシュより遥かに遅いRAM上で実行とか
>>800 に騙されんなよ
敢えて、騙すつもりも無かったんだろうけど
キャッシュが有るのを知らなかったとか、似たもの同士だな PIC32MZデバイスファミリから最高の性能を引き出すには、キャッシュの使用が必須です。
メモリとキャッシュ間のアクセスは、どちらの方向も1クロックサイクル内で発生します。
これに対し、システムバス経由のアクセスは複数クロックサイクルを要します。 DS00001600C_JP - p. 1 RAMでの実行は
フラッシュの書き換え
通信や外部記憶装置からコードを受け取っての実行
が主な用途では?
速度的には、
キャッシュに収まらない大きなループとか
軽くて頻繁に発生する割り込みの応答性能を上げたい時とか
用途が無いことも無い RAMも一応命令キャッシュは効く
もちろん効くようにすればだけど >>853
cだけでアセンブラさわんないと
見えてこないものってある(笑) >>851
PIC32は普通のマイコンだからRAM上に実行コードコピーして、そこにジャンプすれば良い。
方法は調べればわかる。 >>860
少なくとも、REFCLKOやSPIを使えば50MHzで出せる UARTとかSPI、I2C、USBに頼ってると
IOポートの速度なんかきにしないもんね(笑) ペリフェラルを使いこなせないっていう自己紹介ですか? 8bitアセンブラユーザーがアドバイスしてるから
トンチンカンな発言になるんだわな >>858はアドバイスされてた側
MIPSのアセンブラをはじめて使ってはしゃいでる状態 >>867
初めてではないよ?
マイコン扱う人はNOPとか使うからね! ただNOPつかうときは
NOPって書けばいいだけだけど
命令セットをちょくで使うときの
作法がわからなかったの
8bit16bitのマイコンはアセンブラよく使ったから作法知ってたけども
MIPSはCのみでほとんでできるから使うことがほぼ無い >>869
パイプライン崩さないように、コンパイラが命令順序入れ換えたりとかするからな。 初めてではないけど作法を知らない?
意味がよく分からない
nop() が使えるのはコンパイラが用意してくれてるからであって
これをもって「初めてじゃない」とか言ってるなら何か違う >>841
そのようにやるなら
下のようにv0、v1をワークレジスタを指定した方がいいのでは?
__asm__(
"lui $v1, 64384\n\t"
"addiu $v0, $0, 8\n"
"loop: SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"SW $v0, 11500($v1)\n\t"
"B loop\n"
:
:
: "$2", "$3" /* $v0は$2、$v1は$3の別名 */
); この無限ループにワーキングレジスタも糞も無いと思うが なんでネイティブアセンブラじゃなくてインラインを使いたがるかねえ プログラムの大半をC言語で書くからじゃないの。
わざわざアセンブラのソースファイルを追加する程じゃないからそうしている。 わざわざソースを分ける必要はないけど
わざわざアセンブラで書く必要はある
どんな場面? アセンブラでしか記述出来ないレジスタへのアクセスとかアトミック命令とか
そういうのを使うために2〜3行インラインで記述するのはあるけど
パフォーマンスチューンの為に何行にもわたってインラインを使うことはないなあ
記述も面倒だし見にくいしチューンも中途半端になるし >>875
>>876
そうだよね(笑)
なんかわかってんまい奴が煽ってきてうざいよね!
8bit16bitでアセンブラ嫌というほどやって可読性について
考えると嫌でもCへ移行するもんだよね! Cに移行っていうか
使いどころではアセンブラを使う
その使いどころが時代と共に減ってきて
今はほとんど無い
ってだけ 通りすがりのミジンコです。秋月のPICの商品説明(Ex.[I-04430])に
「Cコンパイラに最適化されたアーキテクチャ」とかあるんですが、
これはどういうことを指しているんでしょうか。また、かの後閑哲也先生も
どこぞでアセンブラよりC言語とのたもうていらっしゃったかと思いますが、
可読性から発展した生産性に着目しての発言と考えられるのでしょうか。 アセンブラってマシンごと一対一だけど
C言語もかなりプリミィテブだよね
BASICの方がわかりやすい
まあOS作るような言語だからしょうがないけどね C言語の方がBASICより発展的だよ
昔の8bitや16bitパソコンの頃のBASICは機能低すぎだが
あれが本来のBASICだから
昔の変数はすべてグローバルでサブルーチンのパラメータもないBASICで
ある意味、長いプログラムを書いてた人はすごいよな
C言語を低レベルな高級言語という人がいるが手続き型の言語としては全然低レベルじゃない
ポインタでメモリの絶対番地にアクセスできるから低レベルなことができるだけ
ただ、絶対番地へのメモリへのアクセスなら昔のBASICだってできた
コンパイラによってはアセンブラの命令の関数が用意されていたりするがC言語の言語仕様から外れた機能だしな C言語が普及する前はPASCALが人気あった
AppleのLisaの公式開発言語がPASCALでその流れで
Macintoshの初期の開発言語がPASCALだったようだし
Apollo ComputerのAegisはPASCALで書かれたらしい
16bitのWindowsでもPASCALの呼び出し方式が使われてるものがあるよね
業界に痕跡を残して消えたメーカー 優秀なマシンを輩出するも業績に悩まされたApollo Computer
http://ascii.jp/elem/000/001/550/1550550/ 8bit、16bitパソコンでC言語が高かった頃、
Turbo PASCALが低価格のコンパイラ言語として人気あったね >>882
マイクロソフトの糞BASICを標準だといわれてもな
BASIC09とか使ったことないの
ひょっとして、OSもDOSとWindowsしか使ったことないのかな >>884
TurboPASCALがほんとに人気あったころ、まだPCでまともに動くCは多くありませんでした
CP/MのV3のころだよね >>886
1985年以前のことはしらないけど、だいたい同時期みたいだぞ
https://en.wikipedia.org/wiki/Turbo_Pascal
https://en.wikipedia.org/wiki/Lattice_C
C言語が雑誌で頻繁に特集が組まれたのは1986年頃だったと思う
Apollo Domainは日本の大学や専門学校で導入してたところも多かったよね Turbo Cが出る前はsmall C使ってたな。
基本だけならこれでも十分。
PASCALは授業と卒論で使った。 Turbo Cは画期的だったね
それまでフルセットのC言語は定価98000円とかでとてもじゃないが個人では手が出なかった
Turbo Cは安くて、ANSIのC言語の仕様を先取りしてたのも良かったね
C言語のANSIの規格化でそれまでのK&Rの仕様からかなり拡張されたからね
PC98用のTurbo Cでも統合環境やグラフィックス関連のライブラリやBIOS関連のライブラリを使わなければ
他のMS-DOSマシンでもコマンドラインから使えた 80年代からコンピュータを始めた人の感覚だと
C言語はBASICやPASCALより高機能な言語というイメージ
C言語が低レベルな高級言語という言い方には違和感がある >>891
BASICもPASCALもCも、オリジナルはかなり使えない。
TurboPASCALに慣れてから、UCSDやヴィルドの使うと使えなさに愕然とする。
CもANSIでなく、K&Rの標準関数だけしかないようなの使うとびっくり。 >>880
PIC12/16のアーキテクチャは主にベースライン・ミッドレンジ・Enhancedミッドレンジとあるんだが、
ベース・ミッドはC言語のことを考えていないアーキテクチャだったからCコンパイラを作るのが厳しかった。
そこでPIC18やEnhancedミッドでINDF/FSRを増やしたり連続したメモリをアクセスできるようにしたり命令増やしたりして
まあだいぶマシになった。それが「Cコンパイラに最適化されたアーキテクチャ」。 >>880
最適と言うのは嘘。
Cだと物凄く使いづらい部分を改善しただけ。 Turbo_C懐かしい、私の「初めてのC」だった。
NECのV25+をボーランド社のTurbo_ASM使って、
DMA+自作マルチタスクで動かしたりしていた。
あの頃は良かったな、こんな日本になるなんて… (ジジィのたわ言) >> Cコンパイラに最適化されたアーキテクチャ
単にメーカーの宣伝文句をコピぺしただけだろうけど
はっきり言って、実態にそぐわない恥知らずな形容詞
当社従来品に比べて多少はマシになりました って程度。 C言語で書くのは移植性もある。
ちょっと前に秋月のPIC基板でちょっとソフト書いて、I/Oモジュール以外のデータ処理(某ネットワーク)はそのままRXに移植できて楽だったわ。 >>897
でも大手の職場では1行書き換えるだけで説明書という名の仕様変更届みたいなのが必要とか聞くけど?
もちろんそんなの関係ない職場なら良いけど、そんなゆるゆる代わりに給料馬鹿安い所に勤めないでしょ? >>898
君、大手の仕事やったことないのわかっちゃうレスですね
ていうかちゃんとしたところの仕事したことないんでしょ
大手だろうが中小だろうが、納品後に請負側から手直し求めるときは、たいていそれなりの手続きは必要です
客側から言ってくるときは電話一本です。修正手続きは向こうがやってくれます
こちらは試験とか文書とかきちんとお金もらえますよ >>899
ここはマイコンのスレであって実務の経験の有無でマウンティングするスレじゃないと思うけど?
D社に納めるCVTのECU検査治具とかそういう名前ばかり大きな経験出せばいいのかな?
確かNかMM系から受け取ったテストケース?を受け取ってやったからウチの貧相な室内でやったからだめというならその会社が叱責させるべきだよね?
修正手続きって何のこと?
相手の工場に入る手続き?それともラインを見てもいい手続き?
ソフトは1行ごとにマーカー引かせてたDe社の話だけで実際の実務じゃないんだけど、上記の様に実際のモノを扱ってないと言われるとそれはそれで抵抗しないといけないんだけど? >>901
ハイハイ、大人が国内ではR社以外のマイコンは使わないってしか言えないのが劣等感を生むのは分かりましたよ?
ホントにガラパゴスなんだからね。
10年経ったら、お値段十分の一とかまだやってるの? >>903
ええ真性ですよ?
少なくとも一応経験したという意味で。
1人目とIDが違う……こんなに”プロ”発注者が集まるスレだったんですね?(歓喜
おかしいなぁ、ここはPICのスレですから商社ですらR社マイコン使って値上げしましょうってはずなのになぁ?
御社の孫請けからの仕事DSPやR社マイコンでかさ上げされてませんか?
ハードとソフトさらに部門違いの開発人員3人ぐらいのうちですら1日がかりで商社が社長を言い負かしてましたよ?
「100円が1000円になるなら当然値段は上がりますよねって言えますから」って力説してましたもん、……当然開発費は取られてたから実際の生産は海外の安い所に流れてたはずですけど? どんな仕事も始めて手を出す時は何でも良いから手っ取り早く結果を出せることをやりませんか?
それからきっちりした仕事になるように計画書を作って進めるだけ。
私は長い間PC関連の拡張基板の設計してたけどFA用の小型機器をやることになって初めてPIC基板(楽な工作)を使って動作確認まで出来た時点で製品用のCPUに切り替えただけ。
PICを推奨したけど実績なしで却下だったが良い経験をしたよ。
PICで車載用の遊びもやれたし。
でもリエントラントで結構なやんだけどね。
スタックにオート変数が無いなんてびっくりしたわ。 >>スタックにオート変数が無い
後発のバージョンでは、スタック・もどきが追加されたけど
古いヤツだと、データを積めるスタック機構そのものが無い
コールスタックしか無いのは知ってたから、当然の帰結ではあるんだけど
これちょっと面食らうよな。 >>908
PICレベルのソフト規模で、Auto変数って要る? >>909
>PICレベルのソフト規模
このあたりは共通認識ではないと思うのでどれぐらに規模があなたにとっての
「PICレベルのソフト規模」なのかを書かないと話にならんのではないかと思います。
でなければ、あなたが想定している「PICレベルのソフト規模」とは「Auto変数が要らないもの」としか判断できません。
そうなると、あなたが言ってるのは、「Auto変数が要らないレベルのソフト規模ならAuto変数が要らない」という意味にしからないのです。
いずれにしても、他のCPUの常識でとりかかったら面くらうものではありますね。 メーカの対応見れば、要るという判断をしたから機能追加したんだろ
理由はどうあれ、実際 cでの staic 変数の使用は 嫌な顔されるわけだし
PIC為だけに間逆のコーディング・スタイルに変えろってのも道理が通らない
実際、あれっ?、と思ったのは 上の人と同じで "リエントラント"
自分で書いた部分なら手も打てるけど、ライブラリor組み込み(詳細は失念)が出してくるから始末が悪い 今度はルネサス使いの人が暴れてるのか?
RXと競合関係にあるのはPIC32だと思うけどな
C言語で8bitのPIC用に組んでRXに移植したっていう話はなんか違和感があるよね
8bitのPICとRXは全く競合しないと思うのだけど ルネサスのスレって全然、人がいないからこっちが気になるのかな? >PIC為だけに間逆のコーディング・スタイルに変えろってのも道理が通らない
それはなぜ?
環境の持つリソースに合わせたプログラミングをする領域はあっていいよ。 RXとか書いてるから主に高機能な16bitCPUや32bitCPUを使ってきた人なのでは?
RXはH8やM16C、32bitのH8SXの後継だしね
RXがRISCじゃなくてCISCなのもH8やH8SXの後継だからなんだろうな そもそもRAM容量が少ない8bitマイコンでスタックを多用するのもなんだかね >>908
MIPSだってハード的なスタックの仕組みなんてない
特定のレジスタをスタックポインタとして使ってるだけ
昔のPICもデータ用のスタックを実装することは可能
コストが見合わないからしないだけ >>918
要るように書けば要るのは間違いないが。
それを避けて書いてもC言語で書いたことにはなるよね。 >>921
アセンブラに対するCの利点のひとつ
移植性
これが犠牲になる
C言語の規格を満たせないのだから Cで開発するのが大多数なんだから
Cで性能が出るようにするのは当然
Cで性能が出ないマイコンは売れない >>905
それくらいでびっくりとか平和だなあ
もっとずっと変態的なマイコン、昔はたくさんあった >>922
だって比較的RAMの多いPIC18Fだって人気のあるやつは1KBとか2KBしかない
そんなにバカバカスタック使ったらすぐにRAMを使い切っちゃうよ >>926
使う量とは関係ない
使い方が制限される 使い方が制限されるのは欠点
その欠点を補うために命令を拡張した やっぱり16bitとか32bitマイコンがメインの人なのでは?
PICなんて128Bとか256BのRAMとかのもあるしねぇ そこはPIC10F200の16バイトを出すべきだろ 32MBって32KBの間違いなんだろうけど
どうせ、PIC24とPIC32でしょ、それ
PIC24やPIC32は別に欠点無いじゃん いずれにしろPIC32のことなら全く見当違いの話になるね > Cで開発するのが大多数なんだから
> Cで性能が出るようにするのは当然
> Cで性能が出ないマイコンは売れない
Microchipは8bitマイコンのシェアでトップ争いしてるほど売れてるけどねw 問題は何に使うか???だと思うよ。
それを書かないで何を言っても無駄なこと
どのチップでもどのような目的に使うかわかっていれば
それに合わないものをどいこういうこと自体無駄なこと
そのチップをどう使うかを考えれない人間は
所詮批判しかできないだけで
その人自体何もできないから批判しているといわれても
しかたない人間だと思うよ
違うというのなら、自分なら何ができる、これを使って
何をしたかを言えばいいと思うよ >>935
他は16bitや32bitに移ってるから ところで此処に居るプロの人達は
最速演算PICのPIC32MZシリーズ使った事あるの? >>934
見当違い?
何が?
PICのメモリサイズの範囲を書いただけだぞ >>938
ADCのクロックをポートパタパタで作る為に最速マイコンwww http://eetimes.jp/ee/articles/1705/02/news071.html
Atmel買収でMicrochipのシェアが急上昇してるからルネサスはあせってるのか?
市場シェア 2015年販売額 2016年販売額 増減
1 NXP Semiconductors 19% 13億5000万ドル 29億1400万ドル 116%
2 ルネサス エレクトロニクス 16% 25億6000万ドル 24億5800万ドル ▼4%
3 Microchip Technology 14% 13億5500万ドル 20億2700万ドル 50%
4 Samsung Electronics 12% 21億7000万ドル 18億6600万ドル ▼14%
5 STMicroelectronics 10% 15億1400万ドル 15億7300万ドル 4% >>939
PIC24やPIC32は別にローカル変数の制限なんてないからな MicrochipはAtmel買収で32bitマイコンでSAMも手に入れたしね ルネサスはRXともろに競合するARMのCortex-MのSynergyやり始めたしね
RXはうまく行ってないのか? Microchipのマイコン売れまくってますが何か?
924774ワット発電中さん2018/01/28(日) 23:39:42.33ID:1ZvLvcSj
Cで開発するのが大多数なんだから
Cで性能が出るようにするのは当然
Cで性能が出ないマイコンは売れない
941774ワット発電中さん2018/01/29(月) 00:26:47.15ID:dwduK/8c
http://eetimes.jp/ee/articles/1705/02/news071.html
Atmel買収でMicrochipのシェアが急上昇してるからルネサスはあせってるのか?
市場シェア 2015年販売額 2016年販売額 増減
1 NXP Semiconductors 19% 13億5000万ドル 29億1400万ドル 116%
2 ルネサス エレクトロニクス 16% 25億6000万ドル 24億5800万ドル ▼4%
3 Microchip Technology 14% 13億5500万ドル 20億2700万ドル 50%
4 Samsung Electronics 12% 21億7000万ドル 18億6600万ドル ▼14%
5 STMicroelectronics 10% 15億1400万ドル 15億7300万ドル 4%
Atmel買収でMicrochipのシェアが急上昇してるからルネサスはあせってるのか?
市場シェア 2015年販売額 2016年販売額 増減
1 NXP Semiconductors 19% 13億5000万ドル 29億1400万ドル 116%
2 ルネサス エレクトロニクス 16% 25億6000万ドル 24億5800万ドル ▼4%
3 Microchip Technology 14% 13億5500万ドル 20億2700万ドル 50%
4 Samsung Electronics 12% 21億7000万ドル 18億6600万ドル ▼14%
5 STMicroelectronics 10% 15億1400万ドル 15億7300万ドル 4% >>902の日本語が理解できないんだけど
解説よろしく ていうか、この人何と戦ってるの?
触れちゃいけない人? 煽って>>953かよ
真性のキチガイに触れちゃったようだな 結局、ID:pq5l2SbG = ID:1ZvLvcSjは
PICのスレを荒らすのが目的のキチガイだったようだな 煽ったのは>>940くらいだと思う
てことはお前が>>938か 単に「PIC」と言われると混乱する。
マイクロチップもデータビット数で名称(ブランド)を分ければ良かったのに。 べつにくさすのは構わんから8ビットの事を言う時はPIC8ビットとでも書いてくれよ >>923
>アセンブラに対するCの利点のひとつ
>移植性
>これが犠牲になる
でしょ? 利点のひとつが犠牲になるだけじゃないですか。
C言語自体、改訂のたびに仕様がどんどん大きくなっています。
これをフルに活かすのに不自由になるようなマイコンはダメだ、っていうことだと
一体全体、どんな規模のマイコンが必要になるのでしょうね。
それに移植といっても、 もともとリソースの限界を超えた移植はありえないのです。
ハードウェアスタックにしてもその限界を作る一つの要素にすぎないように思います。 リソースの限界とかじゃなくて
C言語の規格を守れないのが問題 C言語自体そんなに拡張されているとは思えないな。
C++ならそうだけど。 アセンブラからCに時代が移った
移る前のPICはC言語では扱いづらかった
それだけの話 >C言語の規格を守れないのが問題
問題にしたいだけでは? >>962
C言語の規格も拡張されてる
コンパイラが追従してないだけ >>964
Microchipが問題だと思ったから
変えたわけで >>962
そのうち言語レベルでマルチスレッドもサポート必須になりますよ。(C11ではオプション扱い) >>966
それで良いんじゃないですかね。
市場のニーズと折り合いを付けながら変化している、ということで。 マルツで8ビットの5ケタPICでも買ってみようかなぁ auto変数がー
とか言うならPIC24やdsPICやPIC32使えばいいじゃない
これらはRAMが多いのもあるしね そもそもUNIXを高級言語で記述するという目的でC言語が生まれた
その頃のUNIXはPDP-11などの16bit以上のミニコンで使われてたわけで
8bitでC言語を標準のまま実装すること事態に無理があると思う 32bitのPIC32MZ EFの実装基盤とかもあるんだな
PIC32MZ EF はMIPSのM-ClassのM5150を使ってて
倍精度浮動小数点演算にも対応してる高機能なCPUを搭載してるやつ
PIC32MZ2048EFH144は2MBのフラッシュに512KBのRAMのやつだな
http://akizukidenshi.com/catalog/g/gM-12418/
PIC32MZマイコン実装基板
1枚 ¥1,670(税込)
・搭載マイコン:PIC32MZ2048EFH144T−250I/PL
・ピン数:144ピン
・基板材質、厚み:FR−4、1.6mm厚
・サイズ:55x55mm
PIC32MZシリーズ PDFデータシート
http://akizukidenshi.com/download/ds/microchip/pic32mz.pdf >>973
それ、パスコンとか水晶とか付けにくいんだよ
どうやっても線が長くなる
みんなどうやって実装してるんだ?
CPU性能はPICの中で一番上
252MHzで動く パスコン位はランド作っといて欲しいねIOと兼用もしないし 基板は汎用だからしゃーない
動作不良起こしたらクロック落とすしかない
作って動いたらラッキーだが
マジに使うなら基板起こすしかないね >>973
次から、一行めとリンクの2行だけでいい。 純正のこれならクロックが乘ってる基板
MA320012 1.27mmピッチなんで使いにくい
64pinにして変換基板を使うか
144pinが必要なら基板を起こす
秋月も何用に144pinなんか作ったんだ? >>979
個人客でもerrata見れるのは、有り難いと思ってますよ。
大口顧客にだけは教えてくれるような、深い闇は、当然あるでしょうけど。 >>972
OSの記述だと、たとえば、printf系の標準ライブラリはまず使わないって聞いたことあります。
memcpyも使ってよかったっけ?くらいのレベルだったと思います。
変数管理と、アルゴリズムの記述にメリットがあります。 >>986
カーネルがprintfを使っちゃダメだ
errnoを汚染する
memcpyは普通のマイコンだと問題ない事が多い >>985
他メーカだけど、自分が発見して報告したerattaは大口顧客にだけ限定開示
マスク更新してリビジョンアップ後にウェブ公開という流れだった ではここで暴露してください。
ココじゃダメなら外国のBBSでもいいよ? 教えてほしければそれ相応の態度で
煽れば教えてもらえると思うな 普通、知っていればそういう言葉は出ないよね。
普通じゃ無い人はどーだか知らんが。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 187日 5時間 57分 17秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。