STM32里面有sys.h吗,我怎么在帮助和手册里面都没找到呢?这个里面是不是定义了PBout(0

作者&投稿:资实 (若有异议请与网页底部的电邮联系)
stm32的PBout怎么用有没有sys.h和sys.c的文件?~

一看PBout还有sys.h和sys.c,就知道你用的原子的例程,
在sys.h中有这样的宏定义
#define GPIOB_ODR_Addr (GPIOB_BASE+12) //0x40010C0C
#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n)
它指向了控制PBn所在的寄存器,因此你要输出高电平,只需要

PBout(7) = 1;
即可。
同理A7输出高电平,就是
PAout(7) = 1;

你在安装目录下搜啊

用的是位带操作

#define countof(a)    (sizeof(a)/sizeof(*(a)))
/*位带操作,实现51类似的GPIO控制功能*/
/*IO口操作宏定义 */
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+ \
                              0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr)) 
#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum)) 
//IO口地址映射
#define GPIOA_ODR_Addr    (GPIOA_BASE+12) //0x4001080C 
#define GPIOB_ODR_Addr    (GPIOB_BASE+12) //0x40010C0C 
#define GPIOC_ODR_Addr    (GPIOC_BASE+12) //0x4001100C 
#define GPIOD_ODR_Addr    (GPIOD_BASE+12) //0x4001140C 
#define GPIOE_ODR_Addr    (GPIOE_BASE+12) //0x4001180C 
#define GPIOF_ODR_Addr    (GPIOF_BASE+12) //0x40011A0C    
#define GPIOG_ODR_Addr    (GPIOG_BASE+12) //0x40011E0C   
#define GPIOA_IDR_Addr    (GPIOA_BASE+8)  //0x40010808 
#define GPIOB_IDR_Addr    (GPIOB_BASE+8)  //0x40010C08 
#define GPIOC_IDR_Addr    (GPIOC_BASE+8)  //0x40011008 
#define GPIOD_IDR_Addr    (GPIOD_BASE+8)  //0x40011408 
#define GPIOE_IDR_Addr    (GPIOE_BASE+8)  //0x40011808 
#define GPIOF_IDR_Addr    (GPIOF_BASE+8)  //0x40011A08 
#define GPIOG_IDR_Addr    (GPIOG_BASE+8)  //0x40011E08 
 
//IO口操作,只对单一的IO口!    //0<=n<=15!
#define PAout(n)   BIT_ADDR(GPIOA_ODR_Addr,n)  //输出 
#define PAin(n)    BIT_ADDR(GPIOA_IDR_Addr,n)  //输入 
#define PBout(n)   BIT_ADDR(GPIOB_ODR_Addr,n)  //输出 
#define PBin(n)    BIT_ADDR(GPIOB_IDR_Addr,n)  //输入 
#define PCout(n)   BIT_ADDR(GPIOC_ODR_Addr,n)  //输出 
#define PCin(n)    BIT_ADDR(GPIOC_IDR_Addr,n)  //输入 
#define PDout(n)   BIT_ADDR(GPIOD_ODR_Addr,n)  //输出 
#define PDin(n)    BIT_ADDR(GPIOD_IDR_Addr,n)  //输入 
#define PEout(n)   BIT_ADDR(GPIOE_ODR_Addr,n)  //输出 
#define PEin(n)    BIT_ADDR(GPIOE_IDR_Addr,n)  //输入
#define PFout(n)   BIT_ADDR(GPIOF_ODR_Addr,n)  //输出 
#define PFin(n)    BIT_ADDR(GPIOF_IDR_Addr,n)  //输入
#define PGout(n)   BIT_ADDR(GPIOG_ODR_Addr,n)  //输出 
#define PGin(n)    BIT_ADDR(GPIOG_IDR_Addr,n)  //输入



这样的配置可以比较好的玩CF吗?还有如何提高CF里的FPS值。
这台电脑硬件配置过于老旧,只可以勉强运行CF,但是流畅度会非常差,FPS估计只有20-30左右。想提高FPS只能全面提升硬件。建议重配电脑。

主板 梅捷 SY-F2A55M-RL 内存 4.00 GB ( 800 MHz) 显卡 NVIDIA GeForce...
你好:这款主板的显卡插槽是PCI-E 16X,插什么显卡都没问题。显卡跟主板根本没有兼不兼容一说 只要显卡能插下主板,就是可以使用

装IIS的时候弹出找不到 i386文件...
IIS安装的过程中需要使用系统光盘,在系统光盘的I386文件夹中有所需要的组件。可以百度搜索IIS安装包,这种安装包只包含IIS需要的组件,在安装过程中指向这个文件夹即可完全安装iis。IIS组件包括文件:192.DN_ACHG.AS_ACTCONN.HT_ACTDONE.HT_ACTIV.HT_ACTIVERR.HT_ACTIVSVC.HT_ACTLAN.HT_ACTSHELL.HT_...

去百脑汇配了个6300的电脑 回来发现魔兽世界都玩了卡 帧数低 帮我看看...
CPU AMD Athlon(tm) II X4 631 Quad-Core Processor(2600 Mhz) ¥400 主板 梅捷 SY-A55-RL ¥380 内存 8.00 GB ( 1333 MHz) ¥280 主硬盘 1000 GB (希捷 ST31000524AS 已使用时间: 5小时) ¥580 显卡 NVIDIA GeForce GT 520 (2048...

玩3d用什么独立显卡 主板 梅捷 SY-A785M3-GR
得看你电源功率 如果你电源功率不到额定400W,可以考虑二手9800GT,或者GTS450这类的,价格应该不超300;建议不要买现在的显卡了,极有可能无法稳定运行 如果能到额定400W,买个GTX750就好了,价格600多

电气工程图中“TA”表示什么?
电气工程图中mwl什么意思 mw应当是大写,是电功率的一种单位,表示兆瓦,就是一千个千瓦。在电气工程图中1#ALsy-WL1,P25,CC,WC 表示什么意思? 前面的编号只能结合图纸和专案来看了,我猜是1号楼,AL一般为照明配电箱,sy知道什么的汉字词语的首个字母;WL1为第一个配电回路;P25表达不清楚,...

欧美流行音乐
当开始听完首支单曲《American Idiot》之后会说,真TM牛的朋克专辑;当听完整个专辑之后会说,真棒的一...节奏变慢(有时很慢很慢),加入一些迷幻的味道,如很阴沉,肥厚的Bass,轻微但迷幻的 合成音效,或是些...Synth Pop中的 " Synth",即 Synthesizer,顾名思义, Synth Pop就是“由 Sythesizrs炮制出来的流行...

...给了我明确答案..可以玩一般游戏和高清影音..我TM窝火..性能有那么...
呵呵,不必纠结鲁大娘的跑分,仅做参考,用它来检测温度还行,跑分就太娱乐了,楼主不必窝火!

这样的配置!先马逾辉400P电源够用吗?
勉强可以。最好换额定功率350W以上的电源。

给我个激活码
V263-3033-4X4F-8DY3-34VQ-Q7CR V263-3033-4X4F-8GHQ-K6S9-CLDY V263-3033-4X4F-8GW3-P7UC-MNMB V263-3033-4X4F-8Q6L-S338-WHPE V263-3033-4X4F-8R8T-R7HP-SBXH V263-3033-4X4F-8S36-R6M7-L4AP V263-3033-4X4F-8UYT-V5TG-FFDF V263-3033-4X4F-8X95-W8SY-784V V...

静乐县13290481970: 在《例说stm32》中提到的的delay.h,sys.h,usart.h头文件为什么在keil 5中都找不到? -
年刷谷氨: 你说的delay.h,sys.h,usart.h头文件,不是库文件,也不是开发软件所含的文件,所以你找不到.这是开发板制作单位为演示开发板使用自己编制的软件,对应的还有delay.C,sys.C,usart.C.如果你需要,可以去这里下载:http://www.openedv.com/forums/show/2.htm;jsessionid=6D8D40A56D909ED3E83C093ACD517210

静乐县13290481970: 这个程序最左边一栏好像就三个文件,感觉RCC,GPIO什么都没配置,sys.c和sys.h是系统自 -
年刷谷氨: 名称尾坠是.s,一般代表汇编代码,也就是启动代码,实现的应该是相应寄存器的配置.那个.c和.h文件就是对该功能的实现,.s肯定是被嵌入到.c或者.h中的.

静乐县13290481970: STM32中断函数 -
年刷谷氨: 恶心的程序设计,#1:又一个不使用库函数的?一般使用库函数,可读性好多了,别人也更容易阅读,特殊地方可采用直接寄存器写值的方式!#2: 需理解中断的意义, 你在中断函数里面加这么大的延时有何意义?这是单片机程序设计的忌讳, 可设全局变量,然后中断发生改变全局变量的值再在执行函数里面判断全局变量的值.#3: 中断函数未清除中断标志位.

静乐县13290481970: STM32里面头文件里包含stdio.h,这个有啥作用? -
年刷谷氨: 都是.c文件,不是头文件啊.stm32f10x_it.c 中断处理函数都放在这个文件里面.main.c 这个不用解释了吧stm32f10x.h 这个是头文件,它包含了stm32的一些常用宏,寄存器结构体的定义,高版本的库还放着中断向量表. stm32f10x_rcc.c 这个文件里的固件函数包含了一些对复位、时钟的控制的函数stm32f10x_gpio.c这个文件里的固件函数包含了对GPIO的操作函数stm32_eval.c 这个是st公司为其制作的评估板写的程序system_stm32f10x.c主要包含了对系统时钟设置,一般是对倍频时钟的设置 具体可以看一下文件内容啊!

静乐县13290481970: 使用STM32F1系列开发板时,开始也包含了string.h,但是我用strlen时,提示strlen未定义,这是怎么回事 -
年刷谷氨: 你可以在#include "string.h"上右键,选择打开string.h,看看能不能打开.一般来说包含这个头文件,就可以调用了,不能调用的话,一般就是文件路径里有中文.再或者其它地方有错误.

静乐县13290481970: STM32如何使用Systic(库函数) -
年刷谷氨: systick的中断是系统开辟了的 对于他的配置建议看下core_m3.h里面的SysTick_Config(uint32_t ticks)这个函数 调用这个函数以后 初始化状态就是 使用AHB ticks的值为VAL,也就是计数的滴答值,这个值减到了0就会中断,同时VAL值重新装填 还有 调用了函数以后,默认是开启了滴答计时器,所以要在调用函数之后关闭计时器,在要用的时候开启.对于滴答的开启与关闭是用寄存器做的

静乐县13290481970: stm32中添加2个宏, -
年刷谷氨: 去stm32的.h头文件里看 需要定义哪个就定义哪个 #if !defined (STM32F4XX) && !defined (STM32F40XX) && !defined (STM32F427X) /* #define STM32F40XX */ /*!< STM32F40xx/41xx Devices */ /* #define STM32F427X */ /*!< STM32F427x/437...

静乐县13290481970: stm32固件库的配置 -
年刷谷氨: NO!NO!不存在stm32f10x_conf.c这个文件. 你可以这么理解(个人理解),stm32f10x_conf.h是让你可以使用(或者禁止使用)相应的固件库模块,你可以打开stm32f10x_conf.h这个文件来看,里面有这么些东西(省略): ... //#include "stm...

静乐县13290481970: STM32包含的头文件.h文件很多 -
年刷谷氨: 你调用的函数他在别的函数里面保函的头文件也会出现在这个文件里

静乐县13290481970: stm32 用库函数操作和寄存器操作 -
年刷谷氨: 首先,两个都是C语言. 从51过渡过来的话,就先说寄存器操作.每个MCU都有自己的寄存器,51是功能比较简单的一种,相应的寄存器也比较少,我们常用的就那么几个,像P0 P1 SMOD TMOD之类的,这些存在于标准头文件reg.h里面,因...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网