ESP8266开发

流程

  1. GitHub上下载乐鑫SDK,将SDK中的examples下的IoT_Demo复制到sdk主目录。SDK下载地址https://github.com/espressif/ESP8266_NONOS_SDK/releases
  2. 打开安信可IDE,点击file,import,C/C++,Existing Code as MakeFile Project,完成之后点击Next。
  3. 点击Browse选择下载sdk的所在位置,然后点击去掉C++,选择Cross GCC点击Finish。
  4. 导入sdk后选择工程,然后右键选择properties,点击C/C++ General,去掉对Use default build command的选择,并且在Build command中填入(make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6)在Build directory中选择需要编译工程的目录,例如IoT_Demo。然后点击Apply选择ok。
  5. 选择工程右键先选择Clean project清理工程,再选择build project 编译工程。

软件定时器(接口在osapi.h)

  • 点击导入的SDK选择自己要编译的工程,例如IoT_Demo。选择user—user_main.c
  1. 调用os_timer_arm
    需定义定时器os_timer_t	*ptimer。例如(os_timer_t os_timer;)
  2. 调用os_timer_setfn
    设置回调函数
回调函数
void ICACHE_FLASH_ATTR
huidiao(void)
{  
    os_printf("hello word");
	os_printf("ni hao\n");
}
参考
void ICACHE_FLASH_ATTR
user_init(void)
{  
    	os_timer_disarm	(&os_timer);     //取消定时器  因为对于同⼀个 timer,os_timer_arm 或 os_timer_arm_us 不能重复调⽤,必须先os_timer_disarm。
    	os_timer_setfn(&os_timer,(os_timer_func_t*)	huidiao,NULL);    //设置回调函数
    	os_timer_arm(&os_timer,	1000,1);定时
}

闪烁led(调用gpio.h接口)

  1. os_delay_us
    延时函数
  2. 延时
void ICACHE_FLASH_ATTR 
delay_ms(uint16 x)
{
	for(;x>0;x--)
	{
	  os_delay_us(1000);
	}
}
  1. 实现led闪烁
void ICACHE_FLASH_ATTR
user_init(void)
{
            PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14);//选择GPIO14            
            GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 1);//GPIO14为高
  while(1)
{           
            system_soft_wdt_feed()  ;//喂狗         
            GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 0);//选择gpio14输出为低电平
            delay_ms(50);//延时
            GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 1);//高电平
            delay_ms(50);//延时
}
}

pwm调节电机转速

  1. pwm_init初始化pwm
    初始化pwm
    uint32 period:PWM 周期
    uint8 *duty:各路 PWM 的占空⽐ uint32 duty=0;
    uint32 pwm_channel_num:PWM 通道数
    uint32 (*pin_info_list)[3]: uint32 tongdao[1][3]={PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14,14};
uint32 duty=0;  //占空比0
uint32 tongdao[1][3]={PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14,14};   //使用gpio14输出pwm
void ICACHE_FLASH_ATTR
user_init(void)
{
        pwm_init(10,&duty,1,tongdao);
        pwm_start();//pwm开始,必须调用
}

持续完善中----------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值