Files
@ 2fa25ca2db21
Branch filter:
Location: FeatherHAB/wsprhab/src/i2c.c - annotation
2fa25ca2db21
1.2 KiB
text/plain
Don't zero out everything in position, because we need some of that data; fix timer clocking
0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0dd5c923fdea 0dd5c923fdea 0d9900312165 0d9900312165 0d9900312165 0dd5c923fdea 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 1ecaddb549ab 1ecaddb549ab 1ecaddb549ab 1ecaddb549ab 1ecaddb549ab 1ecaddb549ab 1ecaddb549ab 0d9900312165 0dd5c923fdea 0d9900312165 0d9900312165 0d9900312165 | //
// I2C: Initialize I2C peripheral and return a reference to the port
//
#include "i2c.h"
#include "gpio.h"
I2C_HandleTypeDef hi2c1;
void i2c_init(void)
{
__GPIOA_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
__I2C1_CLK_ENABLE();
hi2c1.Instance = I2C1;
hi2c1.Init.Timing = 0x2000090E;
hi2c1.Init.OwnAddress1 = 0;
hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLED;
hi2c1.Init.OwnAddress2 = 0;
hi2c1.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLED;
hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLED;
HAL_I2C_Init(&hi2c1);
HAL_I2CEx_AnalogFilter_Config(&hi2c1, I2C_ANALOGFILTER_ENABLED);
}
void i2c_deinit(void)
{
HAL_I2C_DeInit(&hi2c1);
__I2C1_CLK_DISABLE();
}
// Get pointer to I2C port
I2C_HandleTypeDef* i2c_get(void)
{
return &hi2c1;
}
|