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