| 
×
马上注册,享用更多功能,让你轻松玩转社区。您需要 登录 才可以下载或查看,没有账号?立即注册   1、用bluelab打开sink工程2、修改main.c文件
 
  在main()函数前增加
 
 #define MYLED (1 << 10) /* bit 10 */
 #define MYDELAY 500 /* ms */
 static void myled_controller( Task t, MessageId id, Message payload )
 {
 PioSet32( MYLED, (PioGet32() ^ MYLED) );//PIO10电平反转
 MessageSendLater( t, 0, 0, MYDELAY ); //设置延时
 }
 static TaskData myled_controller_task = { myled_controller };
 
 设置PIO10闪烁
 在main()函数中增加:
 PioSetDir32(MYLED, MYLED); //设置PIO10为输出
 PioSet32(MYLED, MYLED); //初始化PIO10为高电平
 MessageSend( &myled_controller_task, 0 , 0 );
 
 
 重新编译、运行程序,PIO10连接的指示灯会闪烁 将上面的PIO10改成PIO14,延时改为1ms,就可以驱动蜂鸣器发出500Hz的声音 改成PIO15,可以驱动振动器动作 注意,当PIO被系统配置占用的时候,如果用PioSet32设置PIO的数值,会导致设置语句执行失败,比如PIO6被系统占用:
  此时用语句:
 PioSet32( (1<<11)|(1<<10)|(1<<7)|(1<<6)|(1<<5), itemp); 会导致整条语句执行失败
 
 |