Programming STM32のI2Cはよくわからん I2Cで1バイトのレジスタリードをするとき、通常はSTART → スレーブアドレス(W)送信(W/ACK) → サブアドレス送信(W/ACK) → START(リスタート) → スレーブアドレス(R)送信(W/ACK) → レジスタデータ読... 2013.11.28 ProgrammingSTM32組み込み系・電子工作
STM32 STM32のI2CのSMBAL(SMBus Alert) STM32のI2CモジュールのSMBAL(SMBus Alert)信号線は、CR1 SMBUS bitを1にしてSMBusモードにしたときだけ使われるのかと思っていたら、どうも、CR1 SMBUS bit=0のI2Cモードでも、I2CをPE... 2013.10.18 STM32組み込み系・電子工作
STM32 ARM(32bit)用GCCと64bitINTと8バイト境界とFAULT CoreSourcery G++ 4.5.1 (GCC 4.3.2ベース)で、64bit int値を使うとどんなコードが出るのか見てみた。CPUはSTM32(Cortex-M3)。; volatile uint64_t a,b; push ... 2012.06.19 STM32組み込み系・電子工作
STM32 USBデバイス作成時はMicrosoft OS ディスクリプタに注意 人に指摘してもらって気がついたのだが、Windows XP SP1以降のWindowsは、USBデバイスから、Microsoft OS Descriptor なるものを取得しようとするらしい。USB に関する FAQ: 中級レベル (mic... 2012.06.08 STM32組み込み系・電子工作
Programming STM32 ライブラリ xxx_StructInit() は必ず行う STM32のライブラリでSPIを使ったが、どうも動作が不安定なので悩んでいた。初期化は SPI_InitTypeDef SPI_InitStructure; // 2線・全二重モード SPI_InitStructure.SPI_Direct... 2012.01.19 ProgrammingSTM32組み込み系・電子工作