STM32函数总结

电平翻转和写引脚

HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_1);

HAL_GPIO_WritePin(GPIOE,GPIO_PIN_0,GPIO_PIN_SET);

可变延时

void Delay(unsigned int t)
{
    while(t--);

若为低电平

  if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_15)==RESET )

中断函数

如果中断是15脚就电平翻转

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
        if(GPIO_Pin==GPIO_PIN_15)
        {
            HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_1);
        }
}

串口

实现hello world

uint8_t Tx_str1[]="hello world!\r\n";//定义字符串一helloworld

HAL_UART_Transmit(&huart1,Tx_str1,sizeof(Tx_str1),10000);

实现指令0xA1打开LED1,并发送LED1 OPEN

uint8_t Tx_str2[]="LED1 Open!\r\n";//定义字符串二
uint8_t Tx_str3[]="LED1 Close!\r\n";//定义字符串三
uint8_t Rx_dat =0;//定义函数

huart是指向串口句柄的指针。Instance是串口的实例号

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)这句定义前面不能改
{
    if(huart->Instance == USART1)//询问串口是否是串口一     huart是指向串口句柄的指针。Instance是串口的实例号
    {
        if(Rx_dat==0xA1)//询问Rx函数的内容是不是0xA1
            {
                LED1_OFF();
                
                LED2_ON();//
                HAL_UART_Transmit(&huart1,Tx_str2,sizeof(Tx_str2),10000);
                //发送字符串(串口一,字符串2,字符串长度,时间)
                LED2_OFF();  
            }
            else if(Rx_dat==0xA2)
            {
                LED1_ON();
                
                LED2_ON();
                HAL_UART_Transmit(&huart1,Tx_str3,sizeof(Tx_str3),10000);
                LED2_OFF();
                HAL_UART_Receive_IT(&huart1,&Rx_dat,1);
            }

           HAL_UART_Receive_IT(&huart1,&Rx_dat,1);
    }

 HAL_UART_Receive_IT(&huart1,&Rx_dat,1); //接收一个字节到Rx_dat中

写在while(1)里,否则接收不到信号

第一步,初始化时使能串口中断

 MX_USART1_UART_Init();

第二步,重点,在主循环前开启接收中断HAL_UART_Receive_IT(&huart2, (uint8_t *)rx_buf,1);这是接收1个字节到rx_buf中

HAL_UART_Receive_IT(&huart1,&Rx_dat,1);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值