浅聊HAL 库,

本文介绍了使用不同库(操作寄存器、标准库和HAL库)设置STM32GPIOPB0为高电平的方法,强调了HAL库的易用性。同时,详细展示了如何使用HAL库进行串口发送,包括普通发送和中断形式,以及实际的实验结果。
摘要由CSDN通过智能技术生成

1.各类库的浅比较

1)操作寄存器,设置PB0为高电平

GPIOB->BSRR = 0x0001;

2)使用标准库,设置PB0 为高电平

GPIO_SetBits (GPIOB,GPIO_Pin_0);

3)使用HAL库,设置PB0 为高电平

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);

以上的实质都是通过操作寄存器来实现,给对应IO口写高电平,HAL库对新手小白很友好,而且相对直观,写GPIOB的Pin0,GPIO_PIN_SET 为写入高电平。GPIO_PIN_RESET为写入低电平。

2.HAL库

ST官方推出的最新一种STM32设置和初始化C代码的生成器。

1)可直观选择不同型号的STM32微控制器,配置微控制器,处理引脚冲突,动态设置确定时钟树,及各外围器件的初始化等。

2)串口发送和接收函数

A.串口发送字符

/*普通发送*/	
char *Str="Initial OK\r\n"; 
	HAL_UART_Transmit(&huart1,(uint8_t *)Str,strlen(Str) ,100);

结果:

//串口中断形式 
char *Str="Initial OK\r\n"; 
HAL_UART_Transmit(&huart1,(uint8_t *)Str,strlen(Str) ,100);
HAL_UART_Transmit_IT(&huart1,(uint8_t*)Str,strlen(Str) );

实验结果: 

 B.串口发送数据

uint8_t data[3] ={0x55,0x01,0x00};
HAL_UART_Transmit (&huart1 ,(uint8_t *)data,len,100);

实验现象:

串口接收到:0x55 0x01 0x00

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值