首页 > 其他分享 >MDK下的C语言基础学习

MDK下的C语言基础学习

时间:2022-08-16 13:48:13浏览次数:51  
标签:__ MDK 定义 C语言 学习 GPIOA uint32 GPIO id

1.位操作

1.1:不改变其他位的值情况下,对某几个位进行操作

    GPIOA->CRL&=0XFFFFFF0F;  //将第 4-7 位清 0 ,清零用&

    GPIOA->CRL|=0X00000040;  //设置相应位的值,不改变其他位的值,置1用| 1.2:移位操作
    GPIOx->BSRR = (((uint32_t)0x01) << pinpos); //第pinpos位设置为1     GPIOA->ODR|=1<<5; //PA.5 输出高,不改变其他位 1.3:~取反操作     TIMx->SR = (uint16_t)~TIM_FLAG;  1.4:define 宏定义     #define     标识符      字符串     #defineSYSCLK_FREQ_72MHz   72000000  //定义标识符 SYSCLK_FREQ_72MHz 的值为 72000000 1.5:ifdef条件编译     #ifdef标识符     程序1......
    #else     程序2.....     #endif 1.6:extern变量申明     extern u16 USART_RX_STA;   例1        u8 id;//定义只允许一次     main()     {       id=1;       printf("d%",id);//id=1       test();       printf("d%",id);//id=2     }    例2     extern u8 id;//申明变量 id 是在外部定义的,申明可以在很多个文件中进行     void test(void){     id=2;     }  1.7:typedef       struct _GPIO       {       __IO uint32_t CRL;       __IO uint32_t CRH;       …       };        定义了一个结构体 GPIO,这样我们定义变量的方式为:       struct _GPIO GPIOA;//定义结构体变量 GPIOA        typedef struct       {       __IO uint32_t CRL;       __IO uint32_t CRH;       …       } GPIO_TypeDef;       GPIO_TypeDef _GPIOA,_GPIOB; 1.8:结构体        Struct 结构体名{            成员列表;           }变量名列表;      Struct U_TYPE {             Int BaudRate             Int WordLength;           }usart1,usart2;      在结构体申明的时候可以定义变量,也可以申明之后定义,方法是:Struct 结构体名字 结构体变量列表 ;                                  例如:struct U_TYPE usart1,usart2;

  参考文献“STM32F1开发指南-库函数版本_V3.1 ” Page116-121  

标签:__,MDK,定义,C语言,学习,GPIOA,uint32,GPIO,id
From: https://www.cnblogs.com/JasenJia/p/16591255.html

相关文章

  • Qt学习笔记6
    P19.资源文件添加P20.模态和非模态对话框创建P21.消息对话框P22.其他标准对话框(P19.资源文件添加)(创建了新项目)(这次创建时,Details里的Baseclass选的是QMai......
  • 操作系统学习笔记3 | 操作系统简史
    读史使人明智。通过操作系统的历史,了解操作系统是怎么编出来的,为什么要有那些模块,哪些东西才是核心。参考资料:课程:哈工大操作系统(本部分对应L6&&L7)实验:操作系统原......
  • 【C语言】使用dup2,execlp,实现保存系统命令结果到文件
    #include<fcntl.h>#include<stdio.h>#include<stdlib.h>#include<unistd.h>intmain(void){intfd;//创建文件,获取文件描述符fd=open("ps.out"......
  • 客户流失?来看看大厂如何基于spark+机器学习构建千万数据规模上的用户留存模型 ⛵
    ......
  • LCA学习笔记
    简介LCA(LowestCommonAncestor)中文名是最近公共祖先。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。LCA问题的求解有多种方法,如:倍增、Tarjan、树......
  • ST表学习笔记
    简介ST表是用于解决可重复贡献问题(满足\(x\)操作\(x=x\),如\(max(x,x)=x\))的数据结构,它在区间查询最值时可以做到\(O(n\logn)\)预处理,\(O(1)\)查询,是种优秀的......
  • BIT学习笔记
    基础树状数组:先放一张图:图中黑色的框为\(a\)数组(原数组)。图中黑色的框为\(t\)数组(树状数组)。我们可以得到$t[i]=\sum_{j=1}^{j\le2k}{a[i-2k+j]}$。在这里......
  • 2022-08-15 第六小组 高佳誉 学习笔记
    Mysql数据库数据库数据库【按照数据结构来组织、存储和管理数据的仓库】。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据对于公司......
  • c语言中输出整数类整型变量的长度(所占的字节数)
     001、c语言中整数类变量一共包含四个基本类型。001、char型   002、shortint型  003、int型  004、longint型。其中每种基本类型分为signed型和un......
  • c语言中输出字符型变量(char型)所占用的位数
     001、 #include<stdio.h>#include<limits.h>##CHAR_BIT定义了char型所占用的位数,该变量定义在limits.h头文件中intmain(void){printf("CHAR......