/* STM32 Blue Pill: Blink an LED on PB9 */
#include "stm32f1xx_hal.h"
#include "stm32f1xx_hal_i2c.h"
int main(void)
{
HAL_Init();
/* Configuracion GPIO */
__HAL_RCC_GPIOB_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* Configuracion I2C */
__I2C_CLK_ENABLE();
I2C_InitTypeDef I2C_InitStruct;
I2C_InitStruct.ClockSpeed = 100000;
I2C_InitStruct.DutyCycle = I2C_DUTYCYCLE_2;
I2C_InitStruct.OwnAddress1 = 0;
I2C_InitStruct.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
I2C_InitStruct.OwnAddress2 = 0;
I2C_InitStruct.DualAddressMode = I2C_DUALADDRESS_DISABLE;
I2C_InitStruct.GeneralCallMode = I2C_GENERALCALL_DISABLE;
I2C_InitStruct.NoStretchMode = I2C_NOSTRETCH_DISABLE;
HAL_I2C_Init(&I2C_InitStruct);
//direccion lcd i2c 0x27
//HAL_UART_Transmit (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
HAL_UART_Transmit(&I2C_InitStruct, (uint8_t *)hello_world, strlen(hello_world), HAL_MAX_DELAY);
}
void SysTick_Handler(void)
{
HAL_IncTick();
}