テクノロード掲示板
ようこそ! ゲスト   [登録]  [ログイン]
返答
 件名:Re:初歩的な質問.. 2010-06-14 12:06:59 
admin2
参加日時: 2009-08-19 09:20:38
投稿: 80
場所

CoronのCN-IOのPB10とPB11をI2Cとして使用する

基本的な初期化関数の例としては以下のようになります。

(※設定が非常に細かくできるので、下記例以外の他の設定にはどのようなものがあるのかを見るには、

lib/inc/stm3210x_i2c.hを見ると分かりやすいと思います。)

 

void Coron_I2Cini(void){
  GPIO_InitTypeDef GPIO_InitStructure;
 
   /* System clocks configration ==============================================*/
   /* Enable peripheral clocks ------------------------------------------------*/
   /* GPIOB Periph clock enable */
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
   /* I2C2 Periph clock enable */
   RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2, ENABLE);
 
   // GPIO configraion ========================================================
   /* Configure I2C2 pins: SCL and SDA ----------------------------------------*/
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_10 | GPIO_Pin_11;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
  GPIO_Init(GPIOB, &GPIO_InitStructure);

   /* Disable I2C2 =============================================================*/
   I2C_Cmd(I2C2, DISABLE);
 
   /* I2C2 configuration ======================================================*/
   I2C_InitTypeDef I2C_InitStructure;
   I2C_StructInit(&I2C_InitStructure);
   I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
   I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
   I2C_InitStructure.I2C_OwnAddress1 = 0;
   I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
   I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
   I2C_InitStructure.I2C_ClockSpeed = 400000;  //400kHz
   I2C_Init(I2C2, &I2C_InitStructure); 

   /* Enable I2C2 =============================================================*/
   I2C_Cmd(I2C2, ENABLE);
}

 

 

IP Logged
引用
 件名:拡張I/O設定について.. 2010-06-13 21:03:45 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

拡張I/O を下記のように設定したいのですがどのように 設定したら 良いでしょうか 1.PA5        ADCONV  CH7 2.PA6        ADCONV  CH8 3.PB10      DI(入力) 4.PB11      I2C 5.PB12      I2C 6.PB13      DI 7.PB14      DI 8.PB15      DI お手数ですが 教えてください

IP Logged
引用
 件名:Ⅰ2C の制御について.. 2010-06-13 10:58:54 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

いつも親切なご回答ありがとうございます。 Ⅰ2Cの制御を使ってカラ-センサの情報をとる 制御をする予定ですが Ⅰ2Cを使用した サンプルプログラム等があれば教えてくた゜さい Coron  には ないようですが素人なので  よろしくお願いします

IP Logged
引用
 件名:Re:初歩的な質問.. 2010-06-10 11:03:07 
admin2
参加日時: 2009-08-19 09:20:38
投稿: 80
場所

Coronのソフトウェアライブラリのマニュアルと、付属のSTM32のデータシート以外の情報としては

下記のものがあります。

 

<STmicro(CPU製造メーカー)が公開しているデータ一覧※>

http://www.st.com/mcu/devicedocs-STM32F103RE-110.html 

英語の資料が多いです。一部、日本語化されているものもあります。

 

<STM32の標準サンプルプログラム※>

http://www.st.com/stonline/products/support/micro/files/stm32f10x_stdperiph_lib.zip

 ※このサンプルはメーカー純正の評価ボードを基準に作られているので、全体的に少し読みにくいかもしれません。

ただし、機能ごとに細かくサンプルが用意されているので、main.cなどを開いて各機能の初期化方法など基本的な関数の使い方の参考にするには良いと思います。

IP Logged
引用
 件名:標準ファームウェアライブラリについて.. 2010-06-09 22:37:51 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

これまで色々な質問にご回答ありがとうございます。コロンを使う場合 コロン専用の関数はソフトライブラリィの説明でわかりますがソフト標準ファームウェアライブラリについてはその中の説明だけでは パラメータとして使える数とか具体的機能が表だけの説明ではわかりませんもう少し詳しい解説などの資料はネット上の何処かにあるのでしょうか ?教えてください。

IP Logged
引用
 件名:Re:初歩的な質問.. 2010-06-07 16:27:50 
admin2
参加日時: 2009-08-19 09:20:38
投稿: 80
場所

>タイマ-  を使い 100ms  /   500ms   などの

>3種類の割込みを使ったプログラムのサンプルがあれば教えてください

 

Coronのご愛用有難うございます。

 

タイマー割り込みを使った例としては、サンプルプロジェクト[Ex08_LOG_TXT]がそれにあたります。

このサンプルでは、TIM7をタイマー割り込み用として使って10msecの割り込みを発生させています。

 

割り込み周期の設定方法としては、例えば100msecの周期に変更する場合は

(以下、別トピックの転載です)、

 

/* Immediate load of TIM7 Precaler value */
 TIM_PrescalerConfig(TIM7,72-1, TIM_PSCReloadMode_Immediate); //10msec

TIM_PrescalerConfig(TIM7,720-1, TIM_PSCReloadMode_Immediate);  //100msec

のように設定してください(これで10倍遅くなります)。

※TIM_TimeBaseStructure.TIM_Prescaler = (72-1); となっているところも特に意味は無いのですが

紛らわしいので上記と合わせて= (720-1);と変更してください。

 

設定値の計算方法としては、

割り込み周期[Hz] = 72000000[Hz] / ((Prescaler値+1) x Period値)

となります。

※Prescaler値,Period値共に0x0000~0xFFFF

 

500msecにする場合も同様に、Prescaler値,Period値を変更してください。

(0xFFFF以上の値にならないように注意してください)

 

[coron_tim7int.c]ファイル内でTIM7のタイマー割り込み初期化関数(TIM7_init())と、タイマー割り込み処理関数

(TIM7_Intterupt())を記述しています。

タイマー割り込み処理関数 である[TIM7_Intterupt()]は[stm32f10x_it.c]にて以下のように宣言しています。

void TIM7_IRQHandler(void)
{
 TIM7_Intterupt();
}

 

Coronで使用しているSTM32マイコンはタイマがTIM1~TIM8まで計8個あり、そのうちRCサーボや音楽再生などのCoronの周辺機能でTIM2~TIM6まで使用しています(※TIM1とTIM8は高機能タイマ)。

どのタイマが、どの機能にそれぞれ割り振られているかは、coron_conf.hに記述されています。

 

もし、特にCoronライブラリを使用する必要が無い機能(例えばDCモータの出力タイマ割り込みTIM2など)があれば、TIM2~TIM6もTIM7と同様にユーザが別のタイマ割り込みとして自由に使うことができます。

TIM2~TIM6のタイマ割り込み初期化方法などはTIM7と全く同じです。

(※TIM1とTIM8は機能が追加されている為、少し初期化処理が増えます。詳細はCPUのデータシートをご覧になってください)

IP Logged
引用
 件名:割込みを使いたい.. 2010-06-06 18:41:32 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

タイマ-  を使い 100ms  /   500ms   などの 3種類の割込みを使ったプログラムのサンプルがあれば教えてください [

IP Logged
引用
 件名:Re:Re:初歩的な質問.. 2010-06-05 09:07:58 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

実は エラーを 無視して強引にインストー ルしたら一応 出来ました。そしてUSB をつないでプログラムも書くことができました。エラーを無視してインストールしていっけん うまく いったように 見えますがどうなのか わかりません

IP Logged
引用
 件名:Re:初歩的な質問.. 2010-06-04 11:08:52 
admin2
参加日時: 2009-08-19 09:20:38
投稿: 80
場所

ご確認ありがとうございます。

 

インストール時のエラー状態についてもう少し詳細を知りたいので、メモリ不足が表示される際のエラーメッセージ全文を教えて頂けますでしょうか。

 

また、物理メモリに関しての情報は[Ctrl]キー+[Alt]キー+[Delete]キーを同時押しすると表示される[タスクマネージャ]上の[プロセス]や[パフォーマンス]タブでメモリの使用状況や容量を確認できます。

 

以上、宜しくお願い致します。

IP Logged
引用
 件名:一部 改善しました.. 2010-07-05 16:46:04 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

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

インストールが出来たパソコンは送っていただいたドライバ-により ok になりましたがインストール出来ないパソコンのメモリはディスク、RAMともに 要求仕様 以上の 容量です。

良く レジストリがアプリのプログラムでいっぱいになり 整理しないと  ダメ とか良く 他の ソフトは 言う 場合がありますが実際 なにをどうすれば 良いか わからない場合がおおいです。  

今回の インスト-ルでの問題とは 違うかも しれませんが....

IP Logged
引用
 件名:Re:初歩的な質問.. 2010-06-02 11:56:02 
admin2
参加日時: 2009-08-19 09:20:38
投稿: 80
場所

>① 家にある3台のパソコン(いずれもwindows xp)    一台だけはエラーがでずにインストールできましたが  

>あとの2台はメモリ-は十分あるはずなのに  メモリ不足がでます どうしてか判りません  

 

お手数ですがインストールができなかったパソコンの以下の情報を教えてください。

①Cドライブの空き容量([マイコンピュータ]→[C:]ドライブを右クリック→[プロパティ])

②RAM容量([コントロールパネル]→[システム]の右下のあたり)  

 

Coron IDEの推奨動作環境としては、

 ・HDD 空き容量:Cドライブ 800MB 以上

 ・メモリ(RAM):512MB 以上 となっています。

 

このどちらか一方を満たしていない可能性が高いのですが、ご確認頂けますでしょうか。  

両方とも満たしているのにインストールできない場合は、他の何らかのソフトウェアが影響しているかもしれません。

もし、インストール時にWebサイトや他に起動しているソフトウェアがありましたら一端全て閉じてください、    

 

 

>② 唯一インスト-ルできたPCでcoron  を USB につないだ時  にはドライバ-がみつからずに終わり、

>結果として [エラーメッセージ③]:『Coron in the DFU mode is not connected!Please connect PC with Coron cabling USB while pushing SW_USER』   これがでて 何度やってもここから 進みません対策を教えてください  

 

 お手数ですが下記の手順でドライバをインストールしなおしてみて下さい。

 

①添付のDriverフォルダをダウンロードして、デスクトップなどに解凍してください。

 

②CoronのSW_USERを押しながらUSBケーブルでCoronとPCを接続→CoronのLEDが点滅を開始

(※この時、Coronの黄色LED×2と緑色LEDx1が点滅をしていない場合にはUSBケーブルを挿しなおして下さい)

 

 ③ドライバインストールのウィザードが立ち上がりましたら【いいえ、今回は接続しません(T)】を選択し,次へ進んでください

(※ウィザードが表示されない場合は[コントロールパネル]→[システム]→[ハードウェア]→[デバイスマネージャ]を開き、[Universal Serial Bus]上のCoronを接続した際に表示されるところで、右クリック→[削除]してください。その後、もう一度SW_USERを押しながらPCとCoronを接続してください).

 

 ④【一覧または特定の場所からインストールする(詳細)(S)】を選択し,次へ進んでください.

 

⑤【検索とインストールのオプションを選んでください。】と聞かれるので,【次の場所で最適なドライバを検索する(S)】→【次の場所を含める(O)】→【参照(R)】と選択し、先ほど解凍した[Driver]フォルダを選択して,【次へ(N)>】を選択して進んでください.

(※途中、[...Windowsロゴテストに合格していません...]といった警告がでてきた場合は、そのまま続行してください)

 

⑥【STTub○○.sys】ファイルの格納場所を聞かれたら、解凍した[Driver]内の[x86]フォルダにあるファイルを選択してください。以上で、ドライバのインストールは終わりです。

 

 

それでも、書き込めないようでしたらお手数ですがまたご連絡ください。

 



添付
 Driver.zip [49 KB] ::
IP Logged
引用
 件名:初歩的な質問.. 2010-07-05 16:45:33 
花里 貞利
参加日時: 2010-05-30 10:49:38
投稿: 18
場所

① 家にある3台のパソコン(いずれもwindows xp)    一台だけはエラーがでずにインストールできましたが  あとの 2台はメモリ-は十分あるはずなのに  メモリ不足がでます どうしてか判りません

② 唯一インスト-ルできたPCでcoron  を USB につないだ時  にはドライバ-がみつからずに終わり、結果として

[エラーメッセージ③]:『Coron in the DFU mode is not connected!Please connect PC with Coron cabling USB while pushing SW_USER』   これがでて 何度やってもここから 進みません対策を教えてください

IP Logged
引用
返答
ページ # 


Powered by ccBoard