上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/AVR/_delay_ms()がおかしい
のソース
資料室
開発
/
AVR
/
_delay_ms()がおかしい
のソース
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
開発/AVR/_delay_ms()がおかしい
へ行く。
*_delay_ms()がおかしい [#l84c8425] _delay_msを使っていたら,なんか意図したように時間が取れない。~ delay.hとdelay_basic.hを見ると,_delay_ms()は_delay_loop_2()をつかっている。_delay_loop_2()は,16bit数を-1ループになってるんで4クロック*65536=262.144ms(CPUが1MHzの時)までのdelayになる。8MHzだと32.768msまでしか正常にウエイト出来ない。~ _delay_us()も同様に,_delay_loop1()を使って,3クロック*256=768us(CPUが1MHzの時)までのdelayになる。8MHzだと96usまでしか正常にウエイト出来ない。~ 使うときは, void __delay_ms(time) { while (time--) _delay_ms(1); } ってすれば大丈夫。~ どうも最適化オプションは,-O1以上にしないとおかしくなるようだ。
開発/AVR/_delay_ms()がおかしい のバックアップソース(No. All)
現: 2020-12-26 (土) 15:08:07
yuji
Counter: 1181, today: 1, yesterday: 2
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ