STM32H7系列其一

尘归尘、土归土,老夫有酒二两五

  • 写在前面的话
    • 初识STM32H7
    • 开发使用的工具
      • 1. 选用MDK5
      • 2. STM32 CubeMX
      • 3. STM 32ST-LINK Utility
    • 新建一个工程
    • 第一个程序 *Hello World*
    • 今天就到这里,下一篇预告: 重定向设置.

写在前面的话

转眼毕业快一年,老夫也开始养刺猬啦。告别学生时代,同时踏入嵌入式的深坑。
忙忙碌碌,碌碌无为
仅借此记录,假曰奋斗

人生一征途耳,其长百年,我已走过十之七八回首前尘,历历在目,崎岖多于平坦,忽深谷,忽洪涛,幸赖桥梁以渡。桥何名欤?曰奋斗。 —— 茅以升

初识STM32H7

手上正好有块STM32H743的官方demon板子,ARM-CortexM7内核400MHz的主频,继承32丰富的外设,具体参看芯片手册. 据官方透露,这块芯片其实是双核的,内部还有一个M4的内核主频200MHz, 可能还不太成熟所以就没公开.

上一个图看看:
STM32H7系列其一_第1张图片

开发使用的工具

1. 选用MDK5

一开始是拒绝的,相比IAR, MDK的编译速度是真的慢, 给人一种浪费生命的感觉. 不过AC6的出现指数级的提高了编译速度,感觉和IAR没啥区别了,另外MDK的中间层使用比较方便, 综合考虑还是使用MDK.

2. STM32 CubeMX

ST公司提供配置底层代码的软件. 极大的简化的开发的难度, 使用起来也很友好.

3. STM 32ST-LINK Utility

一些错误的操作会导致芯片锁死,可以使用这个软件进行解锁.

新建一个工程

  1. 打开keil, 点击new projeck, 选择对应的芯片.STM32H7系列其一_第2张图片
  2. 之后会弹出这样的界面, 选择并点击运行按钮, 便会进入Cube界面.STM32H7系列其一_第3张图片
  3. 配置时钟.STM32H7系列其一_第4张图片
  4. 配置一个串口.STM32H7系列其一_第5张图片
  5. 设置时钟参数.STM32H7系列其一_第6张图片
  6. 点击 GENERATE CODE , 随后点击close, 并从file下拉菜单中退出, 便会回到keil界面.STM32H7系列其一_第7张图片
  7. 单击ok, 便会出现整个工程.STM32H7系列其一_第8张图片
  8. 然后配置下工程.<选择编译器, 修改C语言版本, 选择ST-LINK>STM32H7系列其一_第9张图片
  9. 继续修改.STM32H7系列其一_第10张图片
  10. ok啦, 可以愉快的玩耍了

第一个程序 Hello World

那紧接着我们写个串口打印 Hello World. 初始化完成之后, 调用==HAL_UART_Transmit()==函数打印hello world.

int main(void)
{
	/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
	HAL_Init();
	/* Configure the system clock */
	SystemClock_Config();
	/* Initialize all configured peripherals */
	MX_GPIO_Init();
	MX_USART3_UART_Init();
	/* USER CODE BEGIN 2 */
	HAL_UART_Transmit( &huart3, ( uint8_t* )"Hello World\n", 12, 0xFFFF );
	/* USER CODE END 2 */
	/* Infinite loop */
	/* USER CODE BEGIN WHILE */
	while (1)
	{

	}
	/* USER CODE END 3 */
}

上位端也顺利收到数据:STM32H7系列其一_第11张图片

今天就到这里,下一篇预告: 重定向设置.

你可能感兴趣的:(STM32H7)