GPIO_InitTypeDef GPIO_InitStructure;这句话什么意思

声明一个结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 确定,
stm32里面初始化GPIO用的。设置完了GPIO_InitStructure里面的内容后
在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,
比如初始化pa口,就是
GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你问题里面声明的那个结构体


表示入口参数
assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
assert_param(IS_GET_GPIO_PIN(GPIO_Pin));


C语言中strcpy用法
https://blog.csdn.net/mao_hui_fei/article/details/84642447

C语言中的结构体(struct)详解
https://blog.csdn.net/edward_zcl/article/details/112106703


STM32GPIO寄存器CRL、CRH、IDR、ODR、BSRR、BRR  讲的很不错
https://blog.csdn.net/TP987150/article/details/113005394?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-


printf,sprintf,fprintf的区别

https://blog.csdn.net/qq_37059136/article/details/80278742


printf重定义

#include <stdio.h>  // 为编译printf,包含一个标准的c库

int fputc(int ch,FILE *f)  
 
{
    while((USART1->ISR&0x40) == 0);
    
    USART1 ->TDR = (uint8_t)ch;
    return ch;
 
}
  fputc是标准的c库接口,我们在用mdk的时候,他用的是v库,
要看mdk调用c的v库,它的printf内部实现是什么
https://blog.csdn.net/tiandiren111/article/details/107035428


最后用一个例子说明一下到底说明是回调函数:

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。

在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做 触发回调事件,店员给你打电话叫做 调用回调函数,你到店里去取货叫做 响应回调事件。

原文链接:https://blog.csdn.net/yilovexing/article/details/93192484


STM32初级疑问的解疑回答——提供出处相关推荐

  1. STM32的2.02固件库提供的启动文件详解 stm32f10x_vector.s

    当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点--因为C程序往往从main函数开始执行.但一个经常会被忽略的问题是:微控制器(单片 ...

  2. 零死角玩转stm32初级篇1-STM32如何编译和下载程序

    本篇博文目录: 一.程序的编译 二.程序的下载 1.ISP方式 2.JTAG方式 3.SWD方式 4.SWIM方式 一.程序的编译 Keil uVision5 工具中有四个编译如图,他们分别表示什么意 ...

  3. 零死角玩转stm32初级篇5-流水灯的前后今生

    本篇博文目录: 一.寄存器点亮LED灯 1.GPIO 2.地址映射 3.STM32 的时钟系统 (1) 时钟的分类 (2) STM32的时钟 (3) 高速外部时钟 (4) 其他时钟(HCLK .FCL ...

  4. STM32 IAP 在线升级详解

    (扩展-IAP主要用于产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP  再烧写APP应用程序要烧写2次增加工人劳动力基础上写了"STM32 IAP+APP ==>双剑合一&q ...

  5. STM32详解一startup_stm32f10x_hd_vl(超值类型STM32F100xx)和startup_stm32f10x_hd(大容量的STM32F101xx,STM32F102xx,S)

    STM32详解一 转载w282529350 最后发布于2013-12-09 14:31:06 阅读数 8413  收藏 展开 STM32详解1 一.在进入主题之前我们先了解一些必要的基础知识----s ...

  6. 入门单片机选择51还是stm32?入门单片机有哪些好的教学视频?

    不知道大家还记不记得自己小学时候自己的梦想? 有人想成为医生.有人想成为医生,有人想成为飞行员,而我想成为发明家. 可能真是我这种想法,也导致我的性格从小就比较内向,毕业出来以后也从事技术. 人生的上 ...

  7. stm32对c语言要求高吗?c语言什么水平可以学stm32?

    记得我刚出来工作的时候,一直从事stc 51单片机产品的开发,后来接触到了NXP的单片机. 一下从51过渡到ARM,确实让我头疼了一段时间,不过还好,都是配置寄存器去开发,至少开发模式是相同的,就是要 ...

  8. 【STM32】STM32系列教程汇总(暂时暂停更新...)

    00. 目录 文章目录 00. 目录 01. STM32平台简介 02. STM32开发环境 03. STM32初级教程 04. STM32中级教程 05. STM32高级教程 06. FreeRTO ...

  9. STM32的学习记录--2.WiFi模块的使用

    本次学习用的单片机是STM32F103C8T6 本次学习用的WiFi模块是ESP8266 本博客仅用于课余学习,不可商用!!! 如有侵权,请告知我删除博客,谢谢配合. 以下学习资料均在云盘,仅供学习交 ...

最新文章

  1. 总结是学习最好的方式(转)
  2. 2019数据安装勾选_宝象课堂丨如何正确安装SOLIDWORKS 2019?
  3. RDKit | 基于RDKit和Python的阿斯利康ADME数据集分析
  4. php先分组后排序,PHP数组分组排序实例代码
  5. virtualenv使用
  6. 2003年我程序员职业的第一桶金7万元的【教育集团招生收费系统】项目经验、项目来龙去脉分享...
  7. C++函数模板(二)引用
  8. android线程通信方式,Android 主线程和子线程通信问题
  9. 分布式文件系统研究-测试-搭建测试环境
  10. iOS开发内购图文教程
  11. uploadify插件html5,免费的HTML5版uploadify送上
  12. 信息学奥赛一本通 1104:计算书费 | OpenJudge NOI 1.6 03
  13. 深度学习TensorFlow生产环境部署(模型部署篇)
  14. 哪些Mac快捷键可以精准定位光标位置
  15. 26. Postpone variable definitions as long as possible
  16. 2-SAT 及 一点习题
  17. BI项目失败?看看是不是缺少了这几项闭环!
  18. gie拉取Can‘t update master has no tracked branch
  19. 西安电子科技大学计算机科学与技术拔尖班,西安电子科技大学入选基础学科拔尖学生培养计划2.0基地...
  20. 适配器模式的三种形式

热门文章

  1. 实景三维云平台大雁云亮相2022国家级中国地理信息产业大会
  2. 低轨卫星通信遥感融合:架构、技术与试验
  3. 反斜杆(\)与斜杆(/)替换
  4. 教你把图书上的文字“拷”到电脑上
  5. redis中数据清空
  6. 嵌入式学习日记(一)
  7. C语言/C++的移位运算符
  8. YOLO 目标检测 识别框不显示文字标签(已解决)
  9. 中国农业大学本科毕业论文答辩PPT模板
  10. 房地产售楼处神秘顾客调查方案