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をP... 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: 中級レベル (mi... 2012.06.08 STM32組み込み系・電子工作
Programming STM32 ライブラリ xxx_StructInit() は必ず行う STM32のライブラリでSPIを使ったが、どうも動作が不安定なので悩んでいた。 初期化は SPI_InitTypeDef SPI_InitStructure; // 2線・全二重モード SPI_InitStructure.SPI_Direc... 2012.01.19 ProgrammingSTM32組み込み系・電子工作