dimir 2 7 сентября, 2023 Опубликовано 7 сентября, 2023 · Жалоба у меня возникла проблема записи на 24c32n.Вернее 4 двухбайтные числа записывает и сохраняет .Я записываю а повторно вхожу в меню после ресета пишет или 255 или 476? Я так понял что проблема в адресе ячеек памяти.Что можете посоветовать.А да найти адресацию в данной памяти и как понят.Счисление адреса.?Зарание спасибо. Спойлер I2C1->CR1&=~ I2C_CR1_POS; I2C1->CR1|=I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_START ; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100000 ; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; I2C1->DR = 0; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->DR = 1; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->CR1|= I2C_CR1_START; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100001; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; tm1= I2C1->DR; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; tm2= I2C1->DR; I2C1->CR1&=~I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_STOP; I2C1->CR1&=~ I2C_CR1_POS; I2C1->CR1|=I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_START ; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100000; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; I2C1->DR = 2; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->DR = 3; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->CR1|= I2C_CR1_START; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100001; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; b1= I2C1->DR; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; b2= I2C1->DR; I2C1->CR1&=~I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_STOP; I2C1->CR1&=~ I2C_CR1_POS; I2C1->CR1|=I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_START ; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR =0b10100000; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; I2C1->DR= 4; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->DR= 5; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->CR1|= I2C_CR1_START; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100001; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; c1= I2C1->DR; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; c2= I2C1->DR; I2C1->CR1&=~I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_STOP; I2C1->CR1&=~ I2C_CR1_POS; I2C1->CR1|=I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_START ; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100000; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; I2C1->DR= 6; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->DR= 7; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->CR1|= I2C_CR1_START; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100001; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; d1= I2C1->DR; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; d2= I2C1->DR; I2C1->CR1&=~I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_STOP; I2C1->CR1|= I2C_CR1_START ; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100000; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; I2C1->DR= 10; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->DR= 11; while (!(I2C1->SR1 & I2C_SR1_TXE)){}; I2C1->CR1|= I2C_CR1_START; while (!(I2C1->SR1& I2C_SR1_SB)){}; (void) I2C1->SR1; I2C1->DR = 0b10100001; while (!(I2C1->SR1& I2C_SR1_ADDR)){}; (void) I2C1->SR1; (void) I2C1->SR2; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; a1= I2C1->DR; while (!(I2C1->SR1& I2C_SR1_RXNE)){}; a2= I2C1->DR; I2C1->CR1&=~I2C_CR1_ACK; I2C1->CR1|= I2C_CR1_STOP; a=((unsigned int )a1<<8)|a2; b=((unsigned int ) b1<<8)|b2; c=((unsigned int )c1<<8)|c2; d=((unsigned int ) d1<<8)|d2; tm=((unsigned int ) tm1<<8)|tm2; Вот кусок кода он рабочий кроме параметра "a". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimir 2 7 сентября, 2023 Опубликовано 7 сентября, 2023 · Жалоба Ау вы где спецы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 41 7 сентября, 2023 Опубликовано 7 сентября, 2023 · Жалоба 5 minutes ago, dimir said: Ау вы где спецы? https://ww1.microchip.com/downloads/en/DeviceDoc/doc0336.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться