Тоже самое...
Добавлено after 47 seconds:После 9 импульса всё...
Добавлено after 2 minutes 23 seconds:Добавлено after 4 minutes 36 seconds:Я копировал сегодня ваш версию кода и получил точно такую же картинку. Я копировал потому что уже не представляю что не так. Уже пробовал всё! уже и мысли и догадки закончились почему не так. Не хочет он работать и всё!
Добавлено after 1 minute:Вот init i2c самого у меня вот такой:
void I2C_init(void){
(void)I2C1->CR2;
SET_BIT(RCC->APB1ENR, RCC_APB1ENR_I2C1EN); // Подключить тактирование I2C
// ---------- PORTB_6_SCL_I2C1------------------------------------------
MODIFY_REG(GPIOB->CRL, GPIO_CRL_CNF6_Msk, 0b11 << GPIO_CRL_CNF6_Pos); // Альтернатив.функции
MODIFY_REG(GPIOB->CRL, GPIO_CRL_MODE6_Msk, 0b11 << GPIO_CRL_MODE6_Pos); // PB6_50mHz
// ---------- PORTB_7_SDA_I2C1------------------------------------------
MODIFY_REG(GPIOB->CRL, GPIO_CRL_CNF7_Msk, 0b11 << GPIO_CRL_CNF7_Pos); // Альтернатив.функции
MODIFY_REG(GPIOB->CRL, GPIO_CRL_MODE7_Msk, 0b11 << GPIO_CRL_MODE7_Pos); // PB7_50mHz
// ---------- Рестарт I2C ----------
//SET_BIT(I2C1->CR1, I2C_CR1_SWRST);
//while(READ_BIT(I2C1->CR1, I2C_CR1_SWRST) == 0);
//CLEAR_BIT(I2C1->CR1, I2C_CR1_SWRST);
//while(READ_BIT(I2C1->CR1, I2C_CR1_SWRST));
// ---------- Рестарт I2C ----------
//---------- Настройки I2C_CR1 ----------
//CLEAR_BIT(I2C1->CR1, I2C_CR1_SMBUS); // SMBUS "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_SMBTYPE); // SMBTYPE "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_ENARP); // ENARP "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_ENPEC); // ENPEC "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_NOSTRETCH); // NOSTRETCH "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_START); // START "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_STOP); // STOP "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_ACK); // ACK "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_POS); // POS "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_PEC); // PEC "OFF"
//CLEAR_BIT(I2C1->CR1, I2C_CR1_ALERT); // ALERT "OFF"
//SET_BIT(I2C1->CR1, I2C_CR1_PE); // I2C "0N"
//---------- Настройки I2C_CR1 ----------
//---------- Настройки I2C_CR2 ----------
//CLEAR_BIT(I2C1->CR2, I2C_CR2_LAST); // "OFF"
//CLEAR_BIT(I2C1->CR2, I2C_CR2_DMAEN); // "OFF"
//CLEAR_BIT(I2C1->CR2, I2C_CR2_ITBUFEN); // "OFF"
//CLEAR_BIT(I2C1->CR2, I2C_CR2_ITEVTEN); // "OFF"
//CLEAR_BIT(I2C1->CR2, I2C_CR2_ITERREN); // "OFF"
// ---------- Частота 36 мГц APB шины ----------
MODIFY_REG(I2C1->CR2, I2C_CR2_FREQ_Msk, 36 << I2C_CR2_FREQ_Pos);
//---------- Настройки I2C_CR2 ----------
//CLEAR_BIT(I2C1->CCR, I2C_CCR_FS); // Стандарт mode 100 кГц.
SET_BIT(I2C1->CCR, I2C_CCR_FS); // Быстрый 400 кГц
CLEAR_BIT(I2C1->CCR, I2C_CCR_DUTY); // 1/2
//SET_BIT(I2C1->CCR, I2C_CCR_DUTY); // 16/9
//MODIFY_REG(I2C1->CCR, I2C_CCR_CCR_Msk, 180 << I2C_CCR_CCR_Pos);// standart mode
MODIFY_REG(I2C1->CCR, I2C_CCR_CCR_Msk, 10 << I2C_CCR_CCR_Pos);// fast mode "30"
//MODIFY_REG(I2C1->TRISE, I2C_TRISE_TRISE_Msk, 37 << I2C_TRISE_TRISE_Pos);// standart mode
MODIFY_REG(I2C1->TRISE, I2C_TRISE_TRISE_Msk, 4 << I2C_TRISE_TRISE_Pos);// fast mode "12"
//SET_BIT(I2C1->CR2, I2C_CR2_ITBUFEN_Pos); // Включение прерывания буфера
//SET_BIT(I2C1->CR2, I2C_CR2_DMAEN_Pos); // Бит 11 DMAEN: запросы DMA разрешены.
SET_BIT(I2C1->CR1, I2C_CR1_PE); // Включаем I2C
}
Добавлено after 48 seconds:Это настройки DMA вот такие:
void DMA_init(void){
SET_BIT(RCC->AHBENR, RCC_AHBENR_DMA1EN_Pos); // разрешение тактирования DMA1
MODIFY_REG(DMA1_Channel6->CCR, DMA_CCR_PL_Msk, 0b01 << DMA_CCR_PL_Pos); // приоритета канала средний
MODIFY_REG(DMA1_Channel6->CCR, DMA_CCR_MSIZE_Msk, 0b00 << DMA_CCR_MSIZE_Pos);//разрядность данных в памяти 8 бит
MODIFY_REG(DMA1_Channel6->CCR, DMA_CCR_PSIZE_Msk, 0b01 << DMA_CCR_PSIZE_Pos);//разрядность регистра данных 16 бит
SET_BIT(DMA1_Channel6->CCR, DMA_CCR_MINC_Pos); //Включить инкремент адреса памяти
CLEAR_BIT(DMA1_Channel6->CCR, DMA_CCR_PINC_Pos); //Инкремент адреса периферии отключен
CLEAR_BIT(DMA1_Channel6->CCR, DMA_CCR_CIRC_Pos); //кольцевой режим отключен
SET_BIT(DMA1_Channel6->CCR, DMA_CCR_DIR_Pos); // из памяти в периферию
SET_BIT(DMA1_Channel6->CCR, DMA_CCR_EN_Pos); // Канал 6 DMA Включён
}
Добавлено after 1 minute 6 seconds:И не едет!
Добавлено after 42 seconds:Что тут может быть не так???
Всёж стандартно ёлки-палки!!!