stm32 registro trapeni

Miroslav Mraz mrazik na volny.cz
Úterý Duben 11 20:47:50 CEST 2023


Chvíli jsem tomu věnoval a vypadá to, že je to lokální echo z APB 
domény. Hodiny mám 76MHz, pro I2C jsem použil pomalejší HSI 16MHz, aby 
bylo spíš něco vidět. Je to STM32L452.

static GpioClass LedGreen  (GpioPortA, 10);
static constexpr uint32_t mdat = 64;
static volatile  uint32_t data [mdat];
static void sync_test () {
   RCC.CR.B.HSION = 1u;
   while (RCC.CR.B.HSIRDY);
   LedGreen << true;
   RCC.CCIPR.B.I2C1SEL   = 2u;
   RCC.APB1ENR1.B.I2C1EN = 1u;
   I2C1.CR2.B.SADD = 0xAAu;
   I2C1.CR2.B.SADD = 0x55u;
   for (unsigned n=0; n<mdat; n++) {
     data [n] = I2C1.CR2.R;
   }
   asm volatile ("bkpt 1");
}
GDB říká
sync_test () at main.cpp:26
26	  asm volatile ("bkpt 1");
gdb: > p/x data
$1 = {0x55 <repeats 64 times>}

Takže nic, ale možná čekání není nutné, prostě to "nastartuje" o něco 
později.

Mrazík


On 11. 04. 23 18:11, Jan Waclawek wrote:
> Nic sa tam nepise o zapise do ineho registra s touto istou poznamkou, a nic
> sa tam nepise o citani (t.j. ze ci citanie napr. PE bitu odraza realny
> stav PE bitu v kernel_clock=I2CCLK domene, alebo "lokalne echo" z
> APB=PCLK1 domeny -- mimochodom, ST ma aj ten zvyk, ze jeden signal
> pomenuje viacerymi menami, o to je to citanie dokumentacie zabavnejsie).
> 


Další informace o konferenci Hw-list