10个帖子/ 0新
最后一篇
CXZS1234.
离线
最后一次露面:2个月2周前
加入:2017-06-23 07:28
关键词_WAIT()的使用

我跳起DA14580读取DS18B20的数码,在整机的时代通道调用SYSTICK_WAIT()驾流时可能正是读取温度数码,但移植到到系统是就直接导致死机。在系统时代在BLE系统时尚不行用么有其他时时数量替代么?

设备:
pw_dialog.
离线
最后一次露面:1个月1周前
职员
加入:2019-04-03 02:54
请具体描述一下你说裸和b,以及以及如何的。

请具体描述一下你说裸和b,以及以及如何的。

CXZS1234.
离线
最后一次露面:2个月2周前
加入:2017-06-23 07:28
手机系统就是大量的读取温度数码

手机系统就是简单的读取读取数码,通讯串口将数码传输到电脑端便观察资料,我单位写了一个ds18b20驾驶文章,整机是通讯sdk5.0.4样例sdk 5.0.4 \ sdk 5.0.4 \ da1458x_sdk\ 5.0.4 \ projects \ target_apps \ peripheral_examples \ uart修改而成。主要修改mian.c中间加对ds18b20初始化学数分和在循环中不用使用获取函数。如代码

int main(空白)
{
UINT16_T阀= 0;
UINT32_T HIGHTMVALVE = 0 ;;
INT I = 0;
system_init();
periph_init();
if(ds18b20_init()== 1)
printf_string(“\ n \ r *温度传感器不存在* \ n \ r”);
别的
printf_string(“\ n \ r *温度传感器存在* \ n \ r”);
UART_TEST();
而(1)
{
I ++;
if(LED_OFF_THRESHOLD == i)
{
gpio_setactive(LED_PORT,LED_PIN);
printf_string(“\ n \ r * LED *”);
}
如果(LED_ON_THRESHOLD == i)
{
gpio_setinactive(LED_PORT,LED_PIN);
Valve = DS18B20_Get_tem();
printf_string(“* \ n \ r * LED OFF *”);
printf_string(“\ n \ r *温度:”);
printf_num(阀门);
}
if(i == 2 * LED_ON_THRESHOLD)
{
我= 0;
}
};
}

其他未做修改,可以含量长温度值。

驱动词数量参考sdk通信的dht11.c设计的,dht11.c也是1wire通信的。

cyibin.
离线
最后一次露面:6个月3周前
职员
加入:2017-12-14 02:48
你好,

你好,

请描述下你在“ble系统”中,对dht11移动接口的使用方案。

BLE系统运行在rw内核之上,是一世基于消息机的内核;写应用程时机,需要注意不再有阻塞,否则会导致系统系统时代变差,批发看门狗死性等。

CXZS1234.
离线
最后一次露面:2个月2周前
加入:2017-06-23 07:28
在app_htpt_task.cc件中的app_htpt

在app_htpt_task.cn china中的app_htpt_timer_handler遇到中有一个个个获取的语句app_htpt_env.temp_value = ds18b20_get_tem();

但仅仅让系统行行自加,是可以正确常这个温度值的,app_htpt_env.temp_value + = 0x01;

静态int app_htpt_timer_handler(ke_msg_id_t const msgid,
void const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
if(ke_state_get(dest_id)== app_connected)
{
//随机产生温度值
UINT32_T RAND_TEMP_STEP;
//符号用于了解温度是否会增加或减少
INT8_T标志;

//生成温度步骤
rand_temp_step = 22;
//增加或减少温度值
符号=(int8_t)(rand_temp_step&0x00000001);

如果(!标志)
{
符号= -1;
}

//app_htpt_env.temp_value + = sign * rand_temp_step;
app_htpt_env.temp_value + = 0x01;//为了调试方向
//app_htpt_env.temp_value = ds18b20_get_tem();
//发送新的温度
app_htpt_temp_send();


//重置计时器(如果我们在此,测量间隔不是0)计时器以时间为单位编程(tu是10ms)
ke_timer_set(app_htpt_timer,dest_id,200);
}

return(ke_msg_consumed);
}

app_htpt_task.c文章和app_htpt.c是自我从sdk3中间过来的文章,不能为啥sdk5中没有。别用加用官能在一起。用自给自然可以在手机上软件观察到数码是正当的,应该移植比较成功。

我是个菜鸟,第一起用这个和这个,还有好多不当的地方,请请正。

pw_dialog.
离线
最后一次露面:1个月1周前
职员
加入:2019-04-03 02:54
请描述如何移植到到系统的,基因某个ble项目

请问systick_wait()的次数是多重?当机时DS18B20_Get_tem()里代码停在这里,有什么什么信仰?

CXZS1234.
离线
最后一次露面:2个月2周前
加入:2017-06-23 07:28
app_htpt_task.cc件和app_htpt

app_htpt_task.cc文件和app_htpt.c这这两文件时尚你们论坛论坛有一张有关的帖子,然后然后其他相似的app_xxx_task.cc文件和app_xxx.c,norips overs的,over可驾驶.systick_wait()参数最小的是3,最大是300000,最后一个值为主等待转换而等待等待250ms。

cyibin.
离线
最后一次露面:6个月3周前
职员
加入:2017-12-14 02:48
你好,

你好,

你的单线外设移动可驾驶机驾驶,功能正式;在有BLE功能的系统中,该动委会导致导致手机。

以上问题,基调之迹的讨论,猜测死机原因和你系统中有大大的阻塞有关。你应该想办法,把较大的阻塞(250ms)从你的外设动感中去除。

孔祥民
离线
最后一次露面:1年4个月前
加入:2019-01-02 01:33
你好,

你好,

有没有关键词除的建议,别无相代的传感时的,这些跑时会见了,请延有没有好的方法代替这种时?

cyibin.
离线
最后一次露面:6个月3周前
职员
加入:2017-12-14 02:48
你好,

你好,

参考以下方:

//实现延迟1s for(i = 0; i <20; i ++){wdg_freeze();Rwip_schedule();delay_50ms();}

代理是在大胆时期的中,喂狗并给予rw内核执行的机会。

这样做,需要注意防止形成。

建议实际应应用中,还销量设计一性合理的手机,通量APP_EASY_TIMER来动机机,实现实现时等方向。