Jump to content

Не работает MCP3428 на STM32F103


T0KS1K
 Share

Recommended Posts

Есть плата, на которой находятся MCP348 и STM32F103T8U6. К MCP подключается термопара, стмка должна собирать преобразованные данные с MCP через интерфейс I2C и обрабатывать данные. Я застрял на моменте сбора данных. Написал функции для общения стм и mcp, но в ответ получаю это:

 image.png.8168040c308025b796cd9311fb218fca.png

При этом не важно какой канал выбран и к какому каналу подключена термопара.

Функция main:

int main(void)
{
    Configure_GPIO_LED();                      
    Configure_GPIO_I2C1();
    Configure_I2C1_Master();
    Configure_SysTick();
        
    reg_conf = CONFIG_REG(1, 3, 1, 0, 0);

  while (1)
  {   
        I2C_write_MCP(DA3_1_ADDR, reg_conf);  
        delay(50);    
        I2C_read_MCP(DA3_1_ADDR);
        delay(50);     
  }
}

Функция чтения:

void I2C_read_MCP(uint8_t slave_addr)
{ 
    I2C1->CR1 |= I2C_CR1_START;

    while(!(I2C1->SR1 & I2C_SR1_SB));

    I2C1->DR = (uint8_t)(DEVICE_CODE | (slave_addr << 1) | MODE_READ);
    while(!(I2C1->SR1 & I2C_SR1_ADDR));
    for(int i = 0; i < 3; i++)
    {    
            while(!(I2C1->SR1 & I2C_SR1_RXNE));  
            output[i] = I2C1->DR;
    }  
    I2C1->CR1 |= I2C_CR1_STOP;
}

Функция записи:

void I2C_write_MCP(uint8_t slave_addr, uint8_t data)
{
		I2C1->CR1 |= I2C_CR1_START;		
		while(!(I2C1->SR1 & I2C_SR1_SB));
		I2C1->DR = (uint8_t)(DEVICE_CODE | (slave_addr << 1) | MODE_WRITE);			
		while(!(I2C1->SR1 & I2C_SR1_TXE));		
		delay(1);		
		I2C1->DR = data;	
		while(!(I2C1->SR1 & I2C_SR1_TXE));
		I2C1->CR1 |= I2C_CR1_STOP;
}

Функция настройки модуля I2C:

void Configure_I2C1_Master(void)
{
  RCC->APB1ENR |= RCC_APB1ENR_I2C1EN;

	I2C1->CR1 &= ~I2C_CR1_SMBUS;
  	I2C1->CR2 |= 48;              
	I2C1->CCR &= ~I2C_CCR_CCR;
	I2C1->CCR |= 120;
	I2C1->CCR |= I2C_CCR_FS;
	I2C1->TRISE = 24;
	I2C1->CR1 |= I2C_CR1_PE;

}

Подскажите, в чем может быть проблема? Или что я делаю не так.

Edited by T0KS1K
Link to comment
Share on other sites

Реле, разъемы, вентиляторы, корпуса, микросхемы, конденсаторы и много другое!

Скидки до 20% на сайте электронного дискаунтера ТМ Электроникс.

Бесплатная доставка в любую точку России + кэшбэк 15%.

Всем кто сделает заказ в сентябре, начислим 3000 баллов на аккаунт. 1 балл = 1 рублю!

Подробнее

Посылку проверял с помощью осциллографа. Отправка адреса с режимом чтения происходит правильно. 

Вот посылка:

IMG_20220429_184026.thumb.jpg.c3b5698a372de2a9312e4189a95f0063.jpg

 

Вот ответ:

IMG_20220429_184043.thumb.jpg.7c4c0906ae02917218a30474454bfae5.jpg

Link to comment
Share on other sites

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Сообщения

    • разходник, для "полки" по даташит, в нормальной схеме.
    • это зависит от того какая нагрузка... если это асинхронный двигатель , или трехфазный выпрямитель, или частотник, равномерно по 15А на фазу, если это печь сопротивлений могут быть варианты.
    • ....мммм почему всё так сложно и вокруг да около. Существует 6 разновидностей плат, соотношение 5-1. Т.е. Одна версия прошивки подходит на 5 версий, другая только для 1-й. Запросили правильную, вендор прислал, залили, сменился зав. номер платы на чужой, как бы и бог с ним, начали откатывать прошивку, а "эталон" оказался для тех 5-ти версий. Доказывать что либо - это как ссать против ветра. Надеюсь доступно объяснил и все остальные вопросы вокруг исчерпаны. :-) Загрузчик грузится, считывается и верификацию проходит нормально. Даже при старте платы появляются СОМ-порты, записать ничего не могу, ибо версия ПО не та. Ещё раз повторюсь, в даташите и на форумах вычитал, что можно сделать полный ресет МК, при котором всё стирается во внутренней памяти МК, для того, чтобы потом снова залить бут, который не будет запускать кривое ПО а даст возможность залить правильное и вуаля... Например (с одного из форумов советуют): "- Подключайтесь к встроенному загрузчику(ISP) и стирайте всю flash. -  Подключится можно через UART с помощью FlashMagic-а.Порт P2.10 при старте нужно замкнуть на землю." Пробую, FlashMagic не видит МК или делаю/не делаю что-то не так... Или, например, через J-Link Commander для KL25Z: device mkl25z128xxx4 unlock kinetis erase Если у mkl25z128xxx4 - "имя"- kinetis, то какое имя у LPC1768 ?  
    • Если устройство трёхфазное, то амперы в нём не разпределяются и не двапределяются, а именно что трипределяются.
    • Если это сработает клянусь я буду благодарен  материально и мужики спс за время потраченное и варианты вы молодцы. Надеюсь это сработает. Хорошо когда есть люди не утаивающие знание а делящиеся безвозмездно чтоб подрастающие поколение могло учиться и знало что они могут к людям обратиться за помощью. СПС
    • мне кажется ТС не понимает что ему нужна еще самому сделать плату переходник на MAX232 по схеме выше, а уже к ней подключать свои разъемы.
  • Similar Content

×
×
  • Create New...