본문 바로가기

STM32F103

(33)
36.[stm32f103][hal] ADS1115 Cube Mx 여기서 Alert/RDY 는 연결 하지 않았습니다. ADS1115.c #include "ADS1115.h" extern I2C_HandleTypeDef hi2c1; unsigned char ADSwrite[10]; int16_t ADS1115_ReadConversionRegister(uint8_t ads_addr) { uint8_t adcTemp[2]; int16_t reading; HAL_I2C_Master_Receive(&hi2c1, ads_addr 8) & 0x00FF; xsend[1] = UpperThreshold & 0x00FF; //Digital voltage comparator voltage upper limit threshold setting ADS1115_WriteMulBy..
35.[stm32f103][hal] stm32f103 5V pin (FT) 기본적으로 stm32f103은 3.3V가 기준 전압입니다. 그런데 예외적으로 다수의 핀은 5V를 받는 Multi-supply I/O pin 을 지원합니다. 명칭은 FT (Five-volt tolerant) 입니다. 그래서 데이터 시트에서 이런식으로 I/O Level에서 FT라고 표시되어 있습니다. FT = Five-volt tolerant. In order to sustain a voltage higher than VDD+0.3 the internal pull-up/pull-down resistors must be disabled. 다만 FT가 되면 pull up/pull down 저항이 비활성 된다고 합니다.
34.[stm32f103][hal] CDC Printf 적용하기 https://hnydiy.tistory.com/76 28.[stm32f103][hal] CDC-Virtual Port Com 0. driver 1. STM32 Cube 2. 소스 usbd_cdc_if.c static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]); Buf[*Len] = 0; //.. hnydiy.tistory.com 위에 포스터 처럼 CUBE 적용하시면 됩니다. main.c /* Includes ------------------------------------------------------------------*/ ..
33.[stm32f103][hal] 소프트 리셋 Code : NVIC_SystemReset();
32.[stm32f103][hal] usart1 Interrupt 1. STM32CubeMX 첫 번째 방법 #include "main.h" #include "stm32f1xx_hal.h" /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ UART_HandleTypeDef huart1; /* USER CODE BEGIN PV */ /* Private variables ---------------------------------------------------------*/ uint8_t RxBuffer[1]; int main(void) { MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ HAL_UART_Receive_IT(&huart1, RxBuffer, 1); while (1)..
31.[stm32f103][hal] OLED SSD1306 0. 파일 참고 사이트https://github.com/afiskon/stm32-ssd1306 구매 사이트http://www.devicemart.co.kr/1382233 1. STM32Cube 설정이미 풀업 저항이 달려서 나온 제품~!! 2. 파일 설정 폴더를 열면 Inc 폴더엔 .h 파일을 Src 폴더엔 .c 파일을 넣으면 됩니다. 3. IAR 설정 4. 소스 main.c#include "main.h"#include "stm32f1xx_hal.h" /* USER CODE BEGIN Includes */#include "ssd1306_tests.h"/* USER CODE END Includes */ /* Private variables --------------------------------------..
30.[stm32f103][hal] us delay 만들기 0. 파일 1. STM32Cube 2. 파일 추가 3. 소스 main.c int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE B..
29.[stm32f103][hal] i2c_AT2402 eeprom 0. 파일 1. STM32Cube I2c 를 사용하려면 2가지 방법이 있습니다.첫번째는 GPIO를 사용하여 직접 제어 는장점 - Pull up 저항 안달아도됨 직관적인 제어 두번째는 내부 함수를 사용해서 제어하는 방법입니다.근데 하다보니 Clock Configuration 에서 2Mhz 이상 설정하면 I2C가 안되는 문제가 있는거 같습니다.그래서 위에 Cube 설정에서 2Mhz 로 맞춘 이유가 그것입니다. 2. 소스user_I2c.c #include "stm32f1xx_hal.h" int at24_HAL_WriteBytes(I2C_HandleTypeDef *hi2c,uint16_t DevAddress,uint16_t MemAddress, uint8_t *pData,uint16_t TxBufferSize)..