1.23日学习内容

1,C语言方面:

      指针即地址。一个变量的指针即该变量的地址,如:p(4800)【4000】->a(4000)【12345】 (无法打长方形,故用【】代替),4000就是指向变量a指针。专门存放地址变量称为指针变量p即是一个指针变量,它存放的是a的地址4000。

       指针变量遵循先定义,后使用的原则。定义形式:

           数据类型标识符 *指针变量名

     数据类型表示该指针可以指向的数据类型,不是指针变量自身的类型,指针变量本身只能是int型或long型;“ * ”表示其后的变量是指针变量,如p是指针变量,“ *p ”不是指针变量。

      &:取地址运算符;*:指针运算符。

      * 指针变量:

          “ * ”是访问指针所指对象的运算符

      若有定义:int a,*p=&a;说明指针p指向a,a是p指向的对象。*p与a等价。

*与p具有相同的优先级,结合方向从右向左。&*p即&(*p),是对*p取地址,与&a等价。p与&(*p)等价,a与*(&a)等价。根据scanf()函数的要求,输入项必须用地址形式。因为p本身是指针,其内容就是a的地址,若写成"scanf("%d",&p)";则是错误的。

2,stm32按键实现按按键1,LED0亮,按按键2,LED1亮

:利用库函数

#include "stm32f4xx.h"
#include "led.h"
#include "delay.h"
#include "key.h"

int main ()
{
u8 key=0;
delay_init(168);
LED_Init();
KEY_Init();
	while(1)
	{
			GPIO_ResetBits(GPIOF,GPIO_Pin_9);
		GPIO_ResetBits(GPIOF,GPIO_Pin_10);
		key=KEY_Scan(0);//²»Ö§³ÖÁ¬Ðø°´
			switch(key)
			{
				case KEY1_PRES:
					GPIO_SetBits(GPIOF,GPIO_Pin_9);break;	
				case KEY2_PRES:GPIO_SetBits(GPIOF,GPIO_Pin_10);break;
				
			}
	}

}

上述程序中未加延时函数,故程序未成功运行。因为单片机的运行速度很快,所以在写程序时加入延时函数我们才会看出来实际变化。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值