 |
#include <stdio.h> #include <stm32f10x.h>
// 一定要在工程屬性的Target->Code Generation中勾選Use MicroLIB複選框
int fgetc(FILE *fp) { while ((USART1->SR & USART_SR_RXNE) == 0); return USART1->DR; }
int fputc(int ch, FILE *fp) { USART1->DR = ch; while ((USART1->SR & USART_SR_TXE) == 0); return ch; }
int main(void) { int n; RCC->APB2ENR = RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_USART1EN; GPIOA->CRH = 0x000004b0; GPIOA->CRL = 0xb4bb0000; USART1->BRR = 0x1d4c; // 波特率: 9600 USART1->CR1 = USART_CR1_UE | USART_CR1_TE | USART_CR1_RE; // 打開串口發送和接收 puts("請輸入一個數: "); scanf("%d", &n); printf("您輸入的數字是: %d\n", n); printf("這個數乘上2後是: %d\n", n * 2); while (1); }
|
 |
GPIOA->CRL = 0xb4bb0000; 這句話是用來配置SPI1引腳的,因此是多餘的
|