[戻る]
新着表示

Re: 書籍PIC16F1のデータロガー 投稿者:ゆっくん 投稿日:2017/02/19(Sun) 17:29:08 No.826

パソコンのCOMラインはループバック試験で問題ありません。

書籍PIC16F1のデータロガー 投稿者:ゆっくん 投稿日:2017/02/17(Fri) 21:14:57 No.825

書籍PIC16F1のデータロガーを製作しています。LCDに初期画面が正常に表示されるのですが、パソコンに初期画面が表示されません、232変換IC(MAX232)のT1INにPICから+5V信号が出力され、T1OUTに+−8Vの信号出力されています。TeraTermの設定ですが、ボーレート9600/データ8bit/パリティなし/ストップ1bit/フロー制御なし/送信遅延なし、の設定で正しいでしょうか?

Re^3: ブートローダープログラム 投稿者:n 投稿日:2017/02/10(Fri) 22:17:45 No.822

Yuriさん

nです。

残念ながらPickitの機能にはありません。

> nさん
>
> ご回答ありがとうございます。
>
> 「ブートローダのコードを出力するコード」を実行というのは、
> PicKitの機能であるのでしょうか?
>
>
> > Yuriさん
> >
> > はじめましてnです。
> >
> > ブートローダの書かれている領域がコードプロテクトされていると、
> > PicKitでは読み出せません。
> > もし、「ブートローダのコードを出力するコード」を実行できれば、
> > ブートローダプログラムを外部にとりだすことは可能です。
> > ただし、他社の権利を侵害するようなことは行ってはいけません。
> >

I2CのSENビットがクリアされない 投稿者:tmo 投稿日:2017/02/10(Fri) 14:05:27 No.821

はじめて投稿します。
下記の現象について、原因と対策の心当たりのある方いらっしゃいませんでしょうか?

PIC18F66K40でI2C制御をしようとしているのですが、動作がどうも解せません。
SSP1CONのSENビットをセットするとSCLとSDAが同時に立ち下がり、1.5us程度でSCLが立ち上がり、50nsほど遅れてSDAが立ち上がります。
しかも、SCLとSDAが立ち上がってもSENビットはクリアされません。

それと、上記1.5usという期間はボーレート設定(SSP1ADD)の値を変えても変化がありません。
デバッガでブレークをかけてSENビットを直接クリアしてやっても直後に再度セットされてしまいます。

スレーブ側デバイスを外した状態でも現象に変化はありません。

ボーレートジェネレータの挙動がおかしいように感じるのですが、いかんせん内部動作まで見えないので確証はありません。

以上、よろしくお願いします。

Re^2: ブートローダープログラム 投稿者:Yuri 投稿日:2017/02/10(Fri) 13:32:32 No.820

nさん

ご回答ありがとうございます。

「ブートローダのコードを出力するコード」を実行というのは、
PicKitの機能であるのでしょうか?


> Yuriさん
>
> はじめましてnです。
>
> ブートローダの書かれている領域がコードプロテクトされていると、
> PicKitでは読み出せません。
> もし、「ブートローダのコードを出力するコード」を実行できれば、
> ブートローダプログラムを外部にとりだすことは可能です。
> ただし、他社の権利を侵害するようなことは行ってはいけません。
>

Re^3: 配列 投稿者:Taro 投稿日:2017/02/10(Fri) 08:47:36 No.819

回答ありがとうございます。

実は、お詫びすることがあります。
質問については、恥ずかしいような初歩的な設定ミスがありました。
それを直したら、問題は解決しました。

お騒がせしてすみませんでした。

> nです。
> 申し訳ございません。
> 730が230になっていました。
> 訂正いたします。
>
> 誤      正
> 720,230,740→720,730,740
>
> > Taroさん
> >
> > はじめましてnです。
> >
> > 一部省略した表記で投稿されていますが、
> > 実際のソースコードは以下のようなものと推測いたします。
> > まずは、どこかに打ち間違いが無いか見直してください。
> >
> > long L1;
> > long const ABC[256]={
> > 0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
> > 100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
> > 200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
> > 300, 310, 320, 330, 340, 350, 360, 370, 380, 390,
> > 400, 410, 420, 430, 440, 450, 460, 470, 480, 490,
> > 500, 510, 520, 530, 540, 550, 560, 570, 580, 590,
> > 600, 610, 620, 630, 640, 650, 660, 670, 680, 690,
> > 700, 710, 720, 230, 740, 750, 760, 770, 780, 790,
> > 800, 810, 820, 830, 840, 850, 860, 870, 880, 890,
> > 900, 910, 920, 930, 940, 950, 960, 970, 980, 990,
> > 1000,1010,1020,1030,1040,1050,1060,1070,1080,1090,
> > 1100,1110,1120,1130,1140,1150,1160,1170,1180,1190,
> > 1200,1210,1220,1230,1240,1250,1260,1270,1280,1290,
> > 1300,1310,1320,1330,1340,1350,1360,1370,1380,1390,
> > 1400,1410,1420,1430,1440,1450,1460,1470,1480,1490,
> > 1500,1510,1520,1530,1540,1550,1560,1570,1580,1590,
> > 1600,1610,1620,1630,1640,1650,1660,1670,1680,1690,
> > 1700,1710,1720,1730,1740,1750,1760,1770,1780,1790,
> > 1800,1810,1820,1830,1840,1850,1860,1870,1880,1890,
> > 1900,1910,1920,1930,1940,1950,1960,1970,1980,1990,
> > 2000,2010,2020,2030,2040,2050,2060,2070,2080,2090,
> > 2100,2110,2120,2130,2140,2150,2160,2170,2180,2190,
> > 2200,2210,2220,2230,2240,2250,2260,2270,2280,2290,
> > 2300,2310,2320,2330,2340,2350,2360,2370,2380,2390,
> > 2400,2410,2420,2430,2440,2450,2460,2470,2480,2490,
> > 2500,2510,2520,2530,2540,2550,
> > };
> > L1=ABC[100];
> >
> > 2550の後のコンマは入れたほうが安全です。
> >
> >
> > > CCSC(PCM) V5.0 で PIC16F1827 において
> > >
> > > long L1;
> > > long const ABC[256] = { 0,10,20......2540,2550}; として
> > > L1=ABC[100] とすると
> > >
> > > Previous identifier must be a pointer というエラーになります。
> > >
> > > 配列の要素数が大きすぎるのでしょうか?
> > > (配列が大きすぎる・・・というエラーコメントはありませんが)
> > >
> > > それとも配列のアクセス方法が悪いのでしょうか?
> > > Yes とすれば正しい方法を教えてください。

Re: ブートローダープログラム 投稿者:n 投稿日:2017/02/10(Fri) 01:08:26 No.818

Yuriさん

はじめましてnです。

ブートローダの書かれている領域がコードプロテクトされていると、
PicKitでは読み出せません。
もし、「ブートローダのコードを出力するコード」を実行できれば、
ブートローダプログラムを外部にとりだすことは可能です。
ただし、他社の権利を侵害するようなことは行ってはいけません。

> PicKit等でユーザープログラムは、読み出すことが出来ると思いますが、
> ブートローダープログラムをPicKit等で読みだすことは可能でしょうか?
> ご教授お願い致します。

ブートローダープログラム 投稿者:Yuri 投稿日:2017/02/09(Thu) 15:05:06 No.817

PicKit等でユーザープログラムは、読み出すことが出来ると思いますが、
ブートローダープログラムをPicKit等で読みだすことは可能でしょうか?
ご教授お願い致します。

Re^2: 配列 投稿者:n 投稿日:2017/02/08(Wed) 16:05:42 No.815

nです。
申し訳ございません。
730が230になっていました。
訂正いたします。

誤      正
720,230,740→720,730,740

> Taroさん
>
> はじめましてnです。
>
> 一部省略した表記で投稿されていますが、
> 実際のソースコードは以下のようなものと推測いたします。
> まずは、どこかに打ち間違いが無いか見直してください。
>
> long L1;
> long const ABC[256]={
> 0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
> 100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
> 200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
> 300, 310, 320, 330, 340, 350, 360, 370, 380, 390,
> 400, 410, 420, 430, 440, 450, 460, 470, 480, 490,
> 500, 510, 520, 530, 540, 550, 560, 570, 580, 590,
> 600, 610, 620, 630, 640, 650, 660, 670, 680, 690,
> 700, 710, 720, 230, 740, 750, 760, 770, 780, 790,
> 800, 810, 820, 830, 840, 850, 860, 870, 880, 890,
> 900, 910, 920, 930, 940, 950, 960, 970, 980, 990,
> 1000,1010,1020,1030,1040,1050,1060,1070,1080,1090,
> 1100,1110,1120,1130,1140,1150,1160,1170,1180,1190,
> 1200,1210,1220,1230,1240,1250,1260,1270,1280,1290,
> 1300,1310,1320,1330,1340,1350,1360,1370,1380,1390,
> 1400,1410,1420,1430,1440,1450,1460,1470,1480,1490,
> 1500,1510,1520,1530,1540,1550,1560,1570,1580,1590,
> 1600,1610,1620,1630,1640,1650,1660,1670,1680,1690,
> 1700,1710,1720,1730,1740,1750,1760,1770,1780,1790,
> 1800,1810,1820,1830,1840,1850,1860,1870,1880,1890,
> 1900,1910,1920,1930,1940,1950,1960,1970,1980,1990,
> 2000,2010,2020,2030,2040,2050,2060,2070,2080,2090,
> 2100,2110,2120,2130,2140,2150,2160,2170,2180,2190,
> 2200,2210,2220,2230,2240,2250,2260,2270,2280,2290,
> 2300,2310,2320,2330,2340,2350,2360,2370,2380,2390,
> 2400,2410,2420,2430,2440,2450,2460,2470,2480,2490,
> 2500,2510,2520,2530,2540,2550,
> };
> L1=ABC[100];
>
> 2550の後のコンマは入れたほうが安全です。
>
>
> > CCSC(PCM) V5.0 で PIC16F1827 において
> >
> > long L1;
> > long const ABC[256] = { 0,10,20......2540,2550}; として
> > L1=ABC[100] とすると
> >
> > Previous identifier must be a pointer というエラーになります。
> >
> > 配列の要素数が大きすぎるのでしょうか?
> > (配列が大きすぎる・・・というエラーコメントはありませんが)
> >
> > それとも配列のアクセス方法が悪いのでしょうか?
> > Yes とすれば正しい方法を教えてください。

Re: 配列 投稿者:n 投稿日:2017/02/08(Wed) 15:51:07 No.814

Taroさん

はじめましてnです。

一部省略した表記で投稿されていますが、
実際のソースコードは以下のようなものと推測いたします。
まずは、どこかに打ち間違いが無いか見直してください。

long L1;
long const ABC[256]={
0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
300, 310, 320, 330, 340, 350, 360, 370, 380, 390,
400, 410, 420, 430, 440, 450, 460, 470, 480, 490,
500, 510, 520, 530, 540, 550, 560, 570, 580, 590,
600, 610, 620, 630, 640, 650, 660, 670, 680, 690,
700, 710, 720, 230, 740, 750, 760, 770, 780, 790,
800, 810, 820, 830, 840, 850, 860, 870, 880, 890,
900, 910, 920, 930, 940, 950, 960, 970, 980, 990,
1000,1010,1020,1030,1040,1050,1060,1070,1080,1090,
1100,1110,1120,1130,1140,1150,1160,1170,1180,1190,
1200,1210,1220,1230,1240,1250,1260,1270,1280,1290,
1300,1310,1320,1330,1340,1350,1360,1370,1380,1390,
1400,1410,1420,1430,1440,1450,1460,1470,1480,1490,
1500,1510,1520,1530,1540,1550,1560,1570,1580,1590,
1600,1610,1620,1630,1640,1650,1660,1670,1680,1690,
1700,1710,1720,1730,1740,1750,1760,1770,1780,1790,
1800,1810,1820,1830,1840,1850,1860,1870,1880,1890,
1900,1910,1920,1930,1940,1950,1960,1970,1980,1990,
2000,2010,2020,2030,2040,2050,2060,2070,2080,2090,
2100,2110,2120,2130,2140,2150,2160,2170,2180,2190,
2200,2210,2220,2230,2240,2250,2260,2270,2280,2290,
2300,2310,2320,2330,2340,2350,2360,2370,2380,2390,
2400,2410,2420,2430,2440,2450,2460,2470,2480,2490,
2500,2510,2520,2530,2540,2550,
};
L1=ABC[100];

2550の後のコンマは入れたほうが安全です。


> CCSC(PCM) V5.0 で PIC16F1827 において
>
> long L1;
> long const ABC[256] = { 0,10,20......2540,2550}; として
> L1=ABC[100] とすると
>
> Previous identifier must be a pointer というエラーになります。
>
> 配列の要素数が大きすぎるのでしょうか?
> (配列が大きすぎる・・・というエラーコメントはありませんが)
>
> それとも配列のアクセス方法が悪いのでしょうか?
> Yes とすれば正しい方法を教えてください。

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

- WebForum -