Files
@ 0a0719c60fff
Branch filter:
Location: FeatherHAB/wsprhab/src/i2c.c - annotation
0a0719c60fff
1.2 KiB
text/plain
I'm totally a good C programmer... Add semicolons. Reduce drive strength.
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;
}
|