مشکل با متغیر ها در mc60

سلام وقتتون بخیر
من توی برنامم به مشکل خوردم و نمیدونم از چه چیزی ممکنه باشه
به متغیر مقدار میدم ولی همچنان صفر باقی میمونه و تغییر نمیکنه(متغیر گلوبال تعریف شده و داخل تایمر تغییر میکنه)


Screenshot 2024-04-28 104558
قبل از مقدار دادن و بعد از اون پرینت کردم و هیچ تفاوتی باهم ندارن و تا وقتی مقدار نگیره توی همین لوپ باقی میمونه
مثل این مشکل جای دیگه هم پیش اومد که متوجه نشدم چرا مقداری نمیگیره

این پیام هم دائم ارسال میشه به main اصلی:
Other URC: type=101

سلام،
دوست عزیز من درست متوجه سوال شما نشدم، الان انتظار دارید متغیر m_tcp_state تغییر کنه؟ چه مقداری باید داشته باشه؟
شما دارید مقدار این متغیر رو برابر STATE_NW_QUERY_STATE میذارید که عضو اول یک enum هستش و مسلماً مقدارش صفره (همون چیزی که برای شما پرینت میکنه)

typedef enum
{
    STATE_NW_QUERY_STATE, //0
    STATE_MQTT_CFG, //1
    STATE_MQTT_OPEN, //2
    STATE_MQTT_CONN,
    STATE_MQTT_SUB,
    STATE_MQTT_PUB,
    STATE_MQTT_TUNS,
    STATE_MQTT_CLOSE,
    STATE_MQTT_DISC,
    STATE_MQTT_TOTAL_NUM
} Enum_ONENETSTATE;
1 پسندیده

مقدارش 1 هست، پرینت هم گرفتم مقدارشو
Screenshot 2024-04-28 143328

ولی درکل مقدارش مهم نیست، هر متغیری که داخل تایمر میزارم، هیچ مقداری نمیگیره و صفر باقی میمونه
تو عکس هم مشخصه، به جای اینکه یک بگیره، صفره.
عدد ثابت هم بهش میدم باز هم صفره.

m_tcp_state = 10;

بعد از این خط، مقدارشو پرینت میگیرم و صفره
حتی متغیر های دیگه هم تعریف کردم و مقدار ثابت دادم و بعد از پرینت گرفتن مقدارشون صفره

test_counter = 25;
                	if(test_counter == 25)
                	{
                		GPRS_DEBUG("test_counter == 25\r\n")
                	}

اینجا شرط باید برقرار بشه و اون متن پرینت بشه ولی نمیشه

در تعریف متعیر اون رو به صورت volatile تعریف کنید و ببینید باز هم مشکل داره یا نه.

1 پسندیده

ممنون از راهنماییتون
این حرکتو زدم، فقط اون متغیر تستی که تعریف کردم مقدار گرفت و اون یکی دیگه که مربوط به تایمر بود m_tcp_state همچنان با مشکل بود

مشکلش به خاطر فعال کردن دیباگ برای آپدییت کردن بود
UPGRADE_APP_DEBUG_ENABLE
این دیفاین رو صفر کردم مجدد درست شد همه چی :expressionless: چقدر دنگو فنگ داره این MC60

2 پسندیده