在 stm32中如何判断管脚的状态呀·~。。能不能详细的写出来。 比如我要判断PA6是否为高电平。。。还有字库 5

芯片跟stm32结合的例子程序有么··... 芯片跟stm32结合的例子程序有么·· 展开
 我来答
百度网友9a3a0f255
2012-02-15 · TA获得超过125个赞
知道答主
回答量:53
采纳率:0%
帮助的人:43.3万
展开全部
u8 GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9); 这个是读取输入引脚的,还有相应的读取输出引脚。
读取PB9引脚的点评状态,高电平返回1,低电平返回0.
是这个函数,不过函数名儿我记不大清了,大体是这个名称。
xiangguangwang
2012-02-25
知道答主
回答量:7
采纳率:0%
帮助的人:6.3万
展开全部
if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6))
就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuhailun
2012-02-25
知道答主
回答量:53
采纳率:0%
帮助的人:19.9万
展开全部
买一个开发板,里面一大把例子,网上也有很多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
索帝斯鼐
推荐于2017-05-21 · TA获得超过415个赞
知道小有建树答主
回答量:259
采纳率:0%
帮助的人:217万
展开全部
/******************************************************************************/

#include "stm32f10x_lib.h"

/***************************************/
GPIO_InitTypeDef GPIO_InitStructure;
ErrorStatus HSEStartUpStatus;

#define PA0_H GPIO_SetBits(GPIOA, GPIO_Pin_0) // PA0 高电平
#define PA0_L GPIO_ResetBits(GPIOA, GPIO_Pin_0) // PA0 低电平

/* 函数申明 -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);

void Delay(u32 nTime);
void Delayms(vu32 m);
/* 变量定义 ----------------------------------------------*/
u8 ReadValue;

/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
** 输 入 : 无
** 输 出 : 无
** 返 回 : 无
********************************************************************************
*/
int main(void)
{

RCC_Configuration();
GPIO_Configuration();

while(1)
{
PA0_H; //设置PA0为高
ReadValue = GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0);//读出PA0的状态

PA0_L; //设置PA0为低
ReadValue = GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0); //读出PA0的状态
}

}

/*
********************************************************************************
** 函数名称 : RCC_Configuration(void)
** 函数功能 : 时钟初始化
** 输 入 : 无
** 输 出 : 无
** 返 回 : 无
********************************************************************************
*/
void RCC_Configuration(void)
{
/* RCC system reset(for debug purpose) */
RCC_DeInit();

/* Enable HSE */
RCC_HSEConfig(RCC_HSE_ON);

/* Wait till HSE is ready */
HSEStartUpStatus = RCC_WaitForHSEStartUp();

if(HSEStartUpStatus == SUCCESS)
{
/* HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);

/* PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK_Div1);

/* PCLK1 = HCLK/2 */
RCC_PCLK1Config(RCC_HCLK_Div2);

/* Flash 2 wait state */
FLASH_SetLatency(FLASH_Latency_2);
/* Enable Prefetch Buffer */
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

/* PLLCLK = 8MHz * 9 = 72 MHz */
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

/* Enable PLL */
RCC_PLLCmd(ENABLE);

/* Wait till PLL is ready */
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
{
}

/* Select PLL as system clock source */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

/* Wait till PLL is used as system clock source */
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
}

/*
********************************************************************************
** 函数名称 : GPIO_Configuration(void)
** 函数功能 : 端口初始化
** 输 入 : 无
** 输 出 : 无
** 返 回 : 无
********************************************************************************
*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE );

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ; // 上拉输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 最高输出速率50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); // 选择A端口 */
}

/*
********************************************************************************
** 函数名称 : Delay(vu32 nCount)
** 函数功能 : 延时函数
** 输 入 : 无
** 输 出 : 无
** 返 回 : 无
********************************************************************************
*/
void Delay(vu32 nCount)
{
for(; nCount != 0; nCount--);
}

/*
********************************************************************************
** 函数名称 : void Delayms(vu32 m)
** 函数功能 : 长延时函数 m=1,延时1ms
** 输 入 : 无
** 输 出 : 无
** 返 回 : 无
********************************************************************************
*/
void Delayms(vu32 m)
{
u32 i;

for(; m != 0; m--)
for (i=0; i<50000; i++);
}

/*************结束***************/

有什么不懂的还可以再问我
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式