用STM32单片机中需要用到的C语言知识

一、基本内容

二、疑问点

1.声明变量

  1. const:可创建全局常量 局部常量, 数字常量, 数组常量 结构常量.
    用法const int LIM = 50;(源码里很少用)

  2. static:用来定义静态变量,静态函数
    用法static int LIM = 50;
    static void SetSysClockTo24(void){ 函数体}(源码里多用)

  • const和static的区别:?
  1. typedef 给数据类型起别名
typedef unsigned char  uint8_t //(在stdint.h中);
typedef uint8_t  u8;    //(在stm32f10xx.h中)

//在我们使用时直接使用u8定义变量即可 
eg: u8 time=10;(可表示0~256)
  1. extern 变量申明
  • 说明:可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编 译器遇到此变量和函数时在其他模块中寻找其定义。
  • 用法在这里插入图片描述

2.预处理

  1. eg:#define GPIOA_ODR_Addr (GPIOA_BASE+12) //0x4001080C
  • 知识点1:#define A B .常用于定义常量,也可以指向地址。
  • 知识点2:(直接放地址)
  1. 选择预编译
  • eg
#ifdef 标识符 
程序段 1
#else  
程序段 2

#endif
  1. 编写头文件需要用
  • eg
#ifndef __stdint_h
#define __stdint_h
....头文件内容
#endif
  1. #undef A 取消前面的定义

三、使用时注意的重点内容

1.文件结构

  1. 修改文件(.c .h文件)
  • mian.c
  • app – 应用文件
  • bsp – 与外设的连接层
  • device – 添加的设备

2.添加设备要做什么

  1. 理解设备工作原理 – 参考设备手册 (有人用过就看人家博客)
  2. 明确单片机与设备的通讯方式 (同上)
  • IO直驱
  • 串口
  • SPI(硬件/软件
  • IIC(硬件/软件
  1. 分配芯片管脚资源 – (芯片参考手册,开发板原理图)
  2. 根据通讯控制要求修改(修改文件) (开发指南)
  • IO初始化 – 引脚/时钟/
  • 中断管理
  • 移植通讯文件
  1. 连接硬件调试
  • 观察现象分析运行状态
  • 利用keil在线调试观察变量变化
  • 利用输入设备(按键,遥控器) | 输入设备(显示屏)

3.一个函数要看什么

  1. 功能
  2. 输入参数
  3. 输出参数
  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32单片机是一种非常流行的嵌入式系统,它可以用C语言进行编程。下面是一些STM32单片机C语言程序的知识点详解: 1. 数据类型:C语言的数据类型包括整型、浮点型、字符型等。在STM32单片机程序需要注意变量的长度,因为单片机的处理速度相对较慢,所以使用最小的数据类型可以提高程序的运行速度。 2. 循环结构:循环结构在STM32单片机程序非常常见,可以使用for、while、do-while等循环结构。需要注意的是,在使用循环结构时需要特别小心,避免死循环。 3. 条件语句:条件语句通常用于根据某些条件执行不同的代码。在STM32单片机程序,可以使用if、else if、else等条件语句。 4. 数组:数组是一组连续的内存空间,可以用来存储多个相同类型的数据。在STM32单片机程序,数组非常常见,可以用来存储传感器数据、控制信号等。 5. 函数:函数是一段可以重复调用的代码,可以接受参数并返回值。在STM32单片机程序,函数的使用非常广泛,可以用来实现各种不同的功能模块。 6. 指针:指针是一个变量,它存储了一个内存地址。在STM32单片机程序,指针可以用来访问某些特定的内存地址,例如外设寄存器等。 7. 断:断是一种特殊的程序执行方式,它可以在程序运行的任何时候断当前的执行流程,执行一段特定的代码。在STM32单片机程序断可以用来处理外部事件,例如按键输入、定时器超时等。 以上是一些STM32单片机C语言程序的知识点详解,掌握这些知识点可以帮助你更好地编写STM32单片机程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值