實際應用中,時間管理往往是必不可少的。例如:定時完成某件事情、周期性地觸發(fā)某一動作、測量評估程序運行時間等。AWorks提供了一系列時間相關的服務,包括標準時間和定時器等,用戶可以據(jù)此實現(xiàn)靈活的時間相關應用。
本文為《面向AWorks框架和接口的編程(上)》第三部分軟件篇——第8章時間管理——第1~5小節(jié):時間的表示形式、RTC通用接口、系統(tǒng)時間、系統(tǒng)節(jié)拍和軟件定時器。
8.1 ?時間的表示形式
在AWorks中,時間有3種表示形式:細分時間、日歷時間和精確日歷時間。
8.1.1 ?細分時間
細分時間包含年、月、日、時、分、秒等信息。在AWorks中,細分時間使用aw_tm_t類型表示,該類型的具體定義詳見程序清單8.1。
程序清單8.1 細分時間類型定義(aw_time.h)
其中,tm_sec表示秒,有效值為 0 ~ 59;tm_min表示分,有效值為0 ~ 59;tm_hour表示小時,有效值為 0 ~ 23;tm_mday表示日期,有效值為1 ~ 31;tm_mon表示月份,有效值為0 ~ 11,分別對應1 ~ 12月,即實際月份為該值加上1;tm_year表示1900年至今的年數(shù),實際年為該值加上1900; tm_wday表示星期,0 ~ 6分別對應星期日 ~ 星期六;tm_yday表示該年1月1日至今的天數(shù)(0 ~ 365),0對應1月1日;tm_isdst表示是否使用夏令時,若tm_isdst為正,則夏令時有效,系統(tǒng)會在夏季將時間調(diào)快一小時,若tm_isdst為0或負數(shù),表示不使用夏令時?,F(xiàn)在一般不使用夏令時,tm_isdst設置為-1即可。
夏令時(Daylight Saving Time:DST)是一種為節(jié)約能源而人為規(guī)定地方時間的制度,在這一制度實行期間所采用的統(tǒng)一時間稱為“夏令時間”。一般在天亮早的夏季人為將時間提前一小時,可以使人早起早睡,從而節(jié)約照明用電。各個采納夏時制的國家具體規(guī)定不同。目前全世界有近110個國家每年要實行夏令時。我國在1986年至1991年實行了六年的夏令時,每年從4月中旬的第一個星期日2時整(北京時間)到9月中旬第一個星期日的凌晨2時整(北京夏令時)。在夏令時實施期間將時間調(diào)快一小時。1992年4月5日后不再實行。
例如,當前時間是2016年8月26日09:32:30,則可以定義如下細分時間:
一般地,星期(tm_wday)和一年中的天數(shù)(tm_yday)兩個成員的值無需用戶手動設置,這些值是在獲取細分時間時,反饋給用戶的信息。
8.1.2 ?日歷時間
日歷時間表示從1970年1月1日00:00:00開始至當前時刻經(jīng)歷的秒數(shù)。在AWorks中,日歷時間使用aw_time_t類型表示,該類型定義如下(aw_time.h):
例如,當前時間是2016年8月26日09:32:30,至1970年1月1日00:00:00以來的秒數(shù)為1472203950。則可以定義如下日歷時間:
實際中,用戶往往并不需要直接計算秒數(shù),而是通過AWorks提供的相關接口,將細分時間轉(zhuǎn)換為日歷時間,以得到某一細分時間對應的日歷時間。
8.1.3 ?精確日歷時間
日歷時間精度為秒,精確日歷時間的精度可以達到納秒,精確日歷時間在日歷時間的基礎上,增加了一個納秒計數(shù)器。在AWorks中,精確日歷時間使用aw_timespec_t類型表示,該類型定義如下(aw_time.h):
其中,tv_sec是秒值;tv_nsec是納秒計數(shù)值。納秒計數(shù)值從0開始計數(shù),當納秒計數(shù)值達到1000000000時,秒值加1,同時,納秒計數(shù)值復位為0,重新開始計數(shù)。
8.1.4 ?細分時間與日歷時間的相互轉(zhuǎn)換
為了便于用戶使用,AWorks提供了兩個接口函數(shù),用于細分時間和日歷時間的相互轉(zhuǎn)換。相關函數(shù)的原型詳見表8.1。
表8.1 時間轉(zhuǎn)換接口函數(shù)(aw_time.h)
1. ?細分時間轉(zhuǎn)換為日歷時間
該函數(shù)用于將細分時間轉(zhuǎn)換為日歷時間,其函數(shù)原型為:
其中,p_tm作為輸入?yún)?shù),指向待轉(zhuǎn)換的細分時間;p_time為輸出參數(shù),用以輸出轉(zhuǎn)換的結(jié)果(日歷時間)。函數(shù)返回值為標準的錯誤號,返回AW_OK時表示轉(zhuǎn)換成功,其它值表示轉(zhuǎn)換失敗。
例如,需要獲取2016年8月26日09:32:30對應的日歷時間,則范例程序詳見程序清單8.2。
程序清單8.2 細分時間轉(zhuǎn)換為日歷時間范例程序
運行程序,可以得到轉(zhuǎn)換的結(jié)果為:1472203950。
2. ?日歷時間轉(zhuǎn)換為細分時間
該函數(shù)用于將日歷時間轉(zhuǎn)換為細分時間,其函數(shù)原型為:
其中,p_time作為輸入?yún)?shù),指向待轉(zhuǎn)換的日歷時間;p_tm為輸出參數(shù),用以輸出轉(zhuǎn)換的結(jié)果(細分時間)。函數(shù)返回值為標準的錯誤號,返回AW_OK時表示轉(zhuǎn)換成功,其它值表示轉(zhuǎn)換失敗。
例如,需要將日歷時間1472203950轉(zhuǎn)換為細分時間,則范例程序詳見程序清單8.3。
程序清單8.3 日歷時間轉(zhuǎn)換為細分時間范例程序
運行程序,可以得到轉(zhuǎn)換的結(jié)果為:2016-08-26 09:32:30。
8.2 ?RTC通用接口
RTC(Real-Time Clock)設備是能夠提供基本時鐘服務的設備。一個系統(tǒng)中若存在RTC設備,則可以使用RTC通用接口從RTC設備中獲取到年、月、日、時、分、秒等基本的時間信息,一般地,為了修正時間值,往往還可以設置RTC設備當前的時間值。
通常情況下,在硬件設計上,都會為RTC設備分配一個獨立的后備電源(如電池),當系統(tǒng)主電源掉電后,RTC設備仍然能夠繼續(xù)正確運行,使得時間信息一直保持有效。
RTC通用接口包含獲取時間和設置時間的接口,其函數(shù)原型詳見表8.2。
表8.2 RTC通用接口函數(shù)(aw_rtc.h)
1. ?獲取時間
該函數(shù)用于獲取RTC器件當前的時間值,其函數(shù)原型為:
其中,rtc_id表示RTC設備的編號,系統(tǒng)為每個RTC設備都分配了一個唯一ID,通常都是從0開始順序為各個RTC設備編號。例如,i.MX28x片內(nèi)具有RTC外設,其可以作為一個RTC設備使用,若還使用I2C總線外接了PCF85063器件,則系統(tǒng)中將新增一個RTC設備,此時,系統(tǒng)中共計將有2個RTC設備,它們的編號分別為0、1。p_tm為指向細分時間的指針,其為輸出參數(shù),用以返回獲取到的時間值,返回值為標準的錯誤號,返回AW_OK時表示獲取成功,否則表示獲取失敗,失敗的原因可能是該rtc_id對應的設備不存在。
例如,獲取ID為0的RTC設備時間,其范例程序詳見程序清單8.4。
程序清單8.4 獲取RTC設備時間的范例程序
2. ?設置時間
該函數(shù)用于設置RTC器件當前的時間值,其函數(shù)原型為:
其中,rtc_id表示RTC設備的編號,p_tm為指向細分時間的指針,返回值為標準的錯誤號,返回AW_OK時表示設置成功,否則表示設置失敗。
例如,修改ID為0的RTC設備時間,設置其時間為2016-08-26 09:32:30的范例程序詳見程序清單8.5。
程序清單8.5 設置RTC設備時間的范例程序
8.3系統(tǒng)時間
在使用RTC通用接口獲取或設置時間時,必須通過rtc_id指定一個RTC器件,略顯繁瑣,并且在絕大多數(shù)應用中,在獲取時間值時,可能并不關心時間是從哪個RTC設備中獲取到的。為了使應用程序在使用時間服務時更加便捷,AWorks提供了一個統(tǒng)一的系統(tǒng)時間,用戶可以實時獲取系統(tǒng)時間,必要時,也可以修改系統(tǒng)時間。
8.3.1 ?獲取系統(tǒng)時間
根據(jù)系統(tǒng)時間表示形式的不同,可以有3種獲取系統(tǒng)時間的方式:細分時間、日歷時間和精確日歷時間。相關函數(shù)的原型詳見表8.3。
表8.3 獲取系統(tǒng)時間接口函數(shù)(aw_time.h)
1.獲取細分時間
該函數(shù)以細分時間的形式獲取當前的系統(tǒng)時間,其函數(shù)原型為:
其中,p_tv為指向細分時間的指針,用于獲取細分時間。函數(shù)返回值為標準的錯誤號,返回AW_OK時表示獲取成功,其它值表示獲取失敗。范例程序詳見程序清單8.6。
程序清單8.6 獲取細分時間范例程序
程序中,每隔1s打印一次當前的時間值。初始時,若未對時間作任何設置,則系統(tǒng)時間默認為:1970-01-01 00:00:00。
2. ?獲取日歷時間
該函數(shù)以日歷時間的形式獲取當前的系統(tǒng)時間,其函數(shù)原型為:
其中,p_time為指向日歷時間的指針,用于獲取日歷時間,不需要通過參數(shù)獲取日歷時間時,該值可以為NULL。返回值同樣為日歷時間,特別地,若返回值為-1,表明獲取失敗。由此可見,既可以通過參數(shù)獲得日歷時間,也可以通過返回值獲得日歷時間。
通過參數(shù)獲得日歷時間的范例程序詳見程序清單8.7。
程序清單8.7 通過參數(shù)獲得日歷時間范例程序
程序中,每隔1s打印一次當前的日歷時間值。初始時,若未對時間作任何設置,則系統(tǒng)的日歷時間默認為0(即起始時間為:1970-01-01 00:00:00)。
也可以直接通過返回值獲取日歷時間,范例程序詳見程序清單8.8。
程序清單8.8 通過返回值獲取日歷時間范例程序
3. ?獲取精確日歷時間
該函數(shù)以精確日歷時間的形式獲取當前的系統(tǒng)時間,其函數(shù)原型為:
其中,p_tv為指向精確日歷時間的指針,用于獲取精確日歷時間。函數(shù)返回值為標準的錯誤號,返回AW_OK時表示獲取成功,其它值表示獲取失敗。范例程序詳見程序清單8.9。
程序清單8.9 獲取精確日歷時間范例程序
實際中,由于硬件性能的限制,往往并不能每納秒更新一次納秒計數(shù)值。不同平臺實際納秒計數(shù)值更新的快慢是不同的。例如,可能每隔2ms才更新一次納秒計數(shù)值,使納秒計數(shù)值每次增加2000000。
基于精確日歷時間,可以完成一些需要精度高于秒的應用,例如,在用于運動員計時的秒表中,精度往往需要達到0.1 ~ 0.01秒。
8.3.2 ?設置系統(tǒng)時間
系統(tǒng)時間不準確時,或需要對系統(tǒng)時間進行初始設置時,可以通過接口函數(shù)重新設置系統(tǒng)時間的值,以便系統(tǒng)時間準確運行。根據(jù)不同的時間表示形式,有2種設置系統(tǒng)時間方式:使用細分時間,使用精確日歷時間。相關函數(shù)的原型詳見表8.4。
表8.4 設置系統(tǒng)時間接口函數(shù)(aw_time.h)
1. ?使用細分時間設置系統(tǒng)時間
該函數(shù)用于使用細分時間的形式設置系統(tǒng)時間,其函數(shù)原型為:
其中,p_tm為指向細分時間(待設置的時間值)的指針。函數(shù)返回值為標準的錯誤號,返回AW_OK時表示設置成功,其它值表示設置失敗。
當使用細分時間設置時間值時,細分時間的成員tm_wday, tm_yday無需用戶設置,將在調(diào)用設置函數(shù)后自動更新。設置當前時間為2016-08-26 09:32:30的范例程序詳見程序清單8.10。
程序清單8.10 使用細分時間設置系統(tǒng)時間范例程序
程序中,將時間設置為2016年8月26日09:32:30。并在while(1)主循環(huán)中,每隔1s打印一次當前的系統(tǒng)時間。
2. ?使用精確日歷時間設置系統(tǒng)時間
該函數(shù)用于使用精確日歷時間的形式設置系統(tǒng)時間,其函數(shù)原型為:
其中,p_tv為指向精確日歷時間(待設置的時間值)的指針。函數(shù)返回值為標準的錯誤號,返回AW_OK時表示設置成功,其它值表示設置失敗。范例程序詳見程序清單8.11。
程序清單8.11 使用精確日歷時間設置系統(tǒng)時間范例程序
程序中,將精確日歷時間的秒值設置為了1472203950,該值是從1970年1月1日0時0分0秒至2016年8月26日09時32分30秒的秒數(shù)。即將時間設置為2016年8月26日09時32分30秒。在while(1)主循環(huán)中,每隔1s按照細分時間的格式打印一次當前的系統(tǒng)時間,用以驗證設置的結(jié)果。
通常情況下,不會這樣設置時間值,均是采用細分時間的方式設置時間值,因為細分時間更加容易閱讀和理解。但是,在一些應用場合,使用日歷時間將是一種更優(yōu)的選擇,例如,需要通過遠程傳輸時間值來更新本地的時間值,顯然,日歷時間的長度要遠遠小于細分時間的長度,這種情況下,通信過程中,傳輸日歷時間比傳輸細分時間更節(jié)省通信數(shù)據(jù)量,可以節(jié)省一定的帶寬。
8.4 ?系統(tǒng)節(jié)拍
系統(tǒng)節(jié)拍相當于系統(tǒng)的“心臟”,系統(tǒng)節(jié)拍的頻率即為“心臟”跳動的頻率,每次“跳動”,系統(tǒng)節(jié)拍計數(shù)器加1,并處理系統(tǒng)相關的事務。例如,在系統(tǒng)中,可以存在多個軟件定時器(下節(jié)將詳細介紹),則在每個系統(tǒng)節(jié)拍產(chǎn)生時,系統(tǒng)將自動檢查所有的軟件定時器,將它們的定時節(jié)拍數(shù)減1,當減至0時,表明定時器的定時時間到。在AWorks中,很多事物的處理都是基于系統(tǒng)節(jié)拍的,因而往往將系統(tǒng)節(jié)拍看作系統(tǒng)的“心臟”。
系統(tǒng)節(jié)拍相關的函數(shù)原型詳見表8.5
表8.5 系統(tǒng)節(jié)拍接口(aw_system.h)
1. ?獲取系統(tǒng)節(jié)拍頻率
一個系統(tǒng)節(jié)拍對應的實際時間與系統(tǒng)節(jié)拍的頻率相關。系統(tǒng)節(jié)拍頻率越高,系統(tǒng)相關的事務處理越頻繁,實時性越好,但單位時間內(nèi),系統(tǒng)本身占用CPU的時間越長,對應的,用戶能夠使用CPU的時間也就越短。反之,系統(tǒng)節(jié)拍頻率越低,系統(tǒng)相關的事物處理越緩慢,實時性越差,但單位時間內(nèi),系統(tǒng)本身占用CPU的時間越短,對應的,用戶能夠使用CPU的時間也就越長。因此,系統(tǒng)節(jié)拍的頻率不能太高,也不能太低,需要設置為一個合理的值,通常在幾Hz到幾KHz 之間。
系統(tǒng)實際使用的節(jié)拍頻率可以通過該函數(shù)獲得,其函數(shù)原型為:
函數(shù)返回值即為系統(tǒng)節(jié)拍頻率,例如,返回值為1000,表示節(jié)拍頻率為1KHz,則每個節(jié)拍對應的時間為1ms。獲取并打印當前系統(tǒng)節(jié)拍頻率的范例程序詳見程序清單8.12。
程序清單8.12 獲取系統(tǒng)節(jié)拍頻率的范例程序
2. ?獲取系統(tǒng)當前的節(jié)拍計數(shù)值
?系統(tǒng)中存在一個系統(tǒng)節(jié)拍計數(shù)器,初始值為0,系統(tǒng)啟動后,其值會在每個系統(tǒng)節(jié)拍加1??梢酝ㄟ^該函數(shù)在任意時刻獲取當前系統(tǒng)節(jié)拍的計數(shù)值,其函數(shù)原型為:
函數(shù)返回值即為當前系統(tǒng)節(jié)拍計數(shù)器的值。aw_tick_t為一個無符號整數(shù)類型。其位數(shù)與具體平臺相關,在32位系統(tǒng)中,其往往定義為32位。
系統(tǒng)節(jié)拍計數(shù)值往往可以用來計算一段程序運行的時間,如在程序運行前,使用該函數(shù)獲取一個系統(tǒng)節(jié)拍計數(shù)值,在程序運行結(jié)束后,再使用該函數(shù)獲取一個系統(tǒng)節(jié)拍計數(shù)值。它們的差值即為程序運行所消耗的系統(tǒng)節(jié)拍個數(shù),再由系統(tǒng)節(jié)拍頻率可以知道每個節(jié)拍對應的時間,從而得到程序運行所耗費的時間。范例程序詳見程序清單8.13。
程序清單8.13 獲取系統(tǒng)節(jié)拍計數(shù)值的范例程序
程序中,作為演示,測量的是一個執(zhí)行1000000次空語句的for循環(huán)程序段的時間。t1與t0的差值即為for循環(huán)程序段耗費的系統(tǒng)節(jié)拍數(shù),同時,系統(tǒng)節(jié)拍頻率的倒數(shù)為每個節(jié)拍對應的時間(秒),程序中,將時間值擴大了1000倍,即將時間值的單位轉(zhuǎn)換為了毫秒。
程序中,節(jié)拍差值和對應的時間都通過手動計算,實際中,為了方便用戶使用,AWorks提供了相關操作對應的接口函數(shù)。
3. ?計算兩個時刻的節(jié)拍計數(shù)值的差值
該函數(shù)用于計算兩個時刻的節(jié)拍計數(shù)值的差值,以計算某一程序段所耗費的時間節(jié)拍數(shù),其函數(shù)原型為:
t0為某一程序段開始時刻的系統(tǒng)節(jié)拍計數(shù)值,t1為對應程序段結(jié)束時的系統(tǒng)節(jié)拍計數(shù)值。如優(yōu)化程序清單8.13中計算節(jié)拍差值的語句,改由通過接口實現(xiàn),范例程序詳見程序清單8.14。
程序清單8.14 計算節(jié)拍差值的范例程序
4. ?系統(tǒng)節(jié)拍個數(shù)轉(zhuǎn)換為時間
在上面的例子中,將系統(tǒng)節(jié)拍個數(shù)轉(zhuǎn)換為時間較為繁瑣,需要獲取系統(tǒng)節(jié)拍的頻率,然后經(jīng)過相關的換算。為了便于用戶使用,提供了直接將系統(tǒng)節(jié)拍值轉(zhuǎn)換為時間(單位:毫秒)的接口,其函數(shù)原型為:
其中,ticks為系統(tǒng)節(jié)拍個數(shù),返回值為轉(zhuǎn)換的時間結(jié)果(單位:毫秒)。如優(yōu)化程序清單8.14中計算時間的語句,改由通過接口實現(xiàn),范例程序詳見程序清單8.15。
程序清單8.15 計算節(jié)拍值對應時間的范例程序
5. ?時間轉(zhuǎn)換為系統(tǒng)節(jié)拍個數(shù)
與將系統(tǒng)節(jié)拍個數(shù)轉(zhuǎn)換為時間對應,AWorks提供了用于將時間(單位:毫秒)轉(zhuǎn)換為系統(tǒng)節(jié)拍個數(shù)的接口,其函數(shù)原型為:
其中,ms是待轉(zhuǎn)換的時間(單位:毫秒),返回值為轉(zhuǎn)換的結(jié)果(系統(tǒng)節(jié)拍個數(shù)),即ms參數(shù)指定時間所對應的節(jié)拍數(shù)。例如,要獲取500ms時間對應的節(jié)拍個數(shù),范例程序詳見程序清單8.16。
程序清單8.16 計算時間對應節(jié)拍個數(shù)的范例程序
8.5 ?軟件定時器
當需要定時完成某件事情時,可以使用軟件定時器,其可以提供毫秒級別的定時。當定時時間到時,自動通知用戶,以便用戶處理相關的事務。軟件定時器相關的接口函數(shù)原型詳見表8.6。
表8.6 軟件定時器相關接口(aw_timer.h)
1. ?定義軟件定時器實例
每個軟件定時器對應了一個事務處理,當定時時間到時,需要通知用戶,在AWorks中,“通知”是通過回調(diào)機制實現(xiàn)的。即初始時,用戶將一個函數(shù)與定時器綁定,后續(xù)當該定時器定時時間到時,將自動回調(diào)用戶綁定的函數(shù),即可達到將“定時時間到”的這一事件通知到用戶。
在使用軟件定時器前,必須定義一個軟件定時器實例,軟件定時器的類型為aw_timer_t,其在aw_timer.h文件中定義,具體類型的定義用戶無需關心,僅需使用該類型定義軟件定時器實例即可,即:
其地址即可作為軟件定時器相關接口中p_timer參數(shù)的實參傳遞。
此外,系統(tǒng)中可以有多個軟件定時器,每個定時器可以有不同的定時時間,對應不同的事務處理,例如:
2. ?初始化軟件定時器
該函數(shù)用于將指定的函數(shù)與軟件定時器綁定(注冊),保存在定時器實例中,當定時時間到,則通過函數(shù)指針p_func調(diào)用指定的函數(shù),即注冊回調(diào)函數(shù)機制。初始化函數(shù)的原型為:
其中,p_timer為指向使用aw_timer_t類型定義的軟件定時器實例的指針,p_func指向本次注冊的回調(diào)函數(shù),當定時時間到時,系統(tǒng)將自動調(diào)用p_func指向的函數(shù)(注冊回調(diào)函數(shù)),回調(diào)函數(shù)的類型為aw_pfuncvoid_t,該類型是AWorks中定義的函數(shù)指針類型,其具體定義(aw_types.h)如下:
由此可見,p_func指向的函數(shù)類型是無返回值,具有一個void*型參數(shù)的函數(shù)。
初始化函數(shù)的p_arg形參即為用戶自定義的參數(shù),在定時時間到調(diào)用回調(diào)函數(shù)時,會將此處設置的p_arg作為參數(shù)傳遞給回調(diào)函數(shù),如果不使用此參數(shù),則設置為NULL。
初始化函數(shù)的使用范例詳見程序清單8.17。
程序清單8.17 初始化軟件定時器范例程序
3. ?啟動軟件定時器
完成定時器的初始化后,即可設置定時時間(單位:ms)并啟動定時器,定時器開始工作,定時器定時的單位為系統(tǒng)節(jié)拍,啟動定時器后,在每個系統(tǒng)節(jié)拍將軟件定時器的節(jié)拍值減1,當減到0時,表明定時時間到,則自動調(diào)用初始化時注冊的回調(diào)函數(shù)。啟動軟件定時器的函數(shù)原型為:
其中,p_timer指向軟件定時器實例,ticks為定時的節(jié)拍數(shù)。如啟動定時器,并定時500ms,則范例程序詳見程序清單8.18
程序清單8.18 啟動軟件定時器范例程序
注意,默認情況下,啟動軟件定時器后,僅定時一次,即定時時間到后,調(diào)用用戶注冊的回調(diào)函數(shù),整個定時過程結(jié)束。因此,上述程序僅能觀察到500ms后LED點亮,后續(xù)不會再有其它任何現(xiàn)象。
如需再次定時,則必須再次啟動軟件定時器。特別地,若需要周期性的定時,則可以在回調(diào)函數(shù)執(zhí)行結(jié)束時,再次啟動軟件定時器。例如,需要每隔500ms翻轉(zhuǎn)一次LED,實現(xiàn)LED閃爍,則范例程序詳見程序清單8.19。
程序清單8.19 軟件定時器周期性定時范例程序
4. ?關閉軟件定時器
當不再需要定時服務時,可以關閉軟件定時器,其函數(shù)原型為:
其中,p_timer指向軟件定時器實例,用于指定需要關閉的軟件定時器。例如,在程序清單8.19的基礎上,若需要LED閃爍10s后自動停止閃爍,則可以在啟動軟件定時器10s后關閉軟件定時器,范例程序詳見程序清單8.20。
程序清單8.20 關閉軟件定時器范例程序
上一篇:高通BLE Mesh網(wǎng)絡解決方案
下一篇:嵌入式系統(tǒng)分析工具
推薦閱讀
史海拾趣
ELM Technology Corporation一直將產(chǎn)品質(zhì)量視為企業(yè)的生命線。公司建立了嚴格的質(zhì)量管理體系,從原材料采購到產(chǎn)品生產(chǎn)的每一個環(huán)節(jié)都進行嚴格把控。這種對品質(zhì)的堅持不僅贏得了客戶的信任,還為ELM贏得了良好的口碑。在激烈的市場競爭中,ELM憑借卓越的產(chǎn)品品質(zhì)贏得了市場份額。
Afero公司成立于XXXX年,當時的市場中物聯(lián)網(wǎng)平臺技術正處于探索和發(fā)展階段。Afero的創(chuàng)始團隊憑借對物聯(lián)網(wǎng)技術的深刻理解和前瞻性的視野,決定專注于物聯(lián)網(wǎng)平臺即服務(PaaS)的研發(fā)。他們投入大量資源,成功開發(fā)出一種具有創(chuàng)新性的物聯(lián)網(wǎng)平臺,該平臺在安全性、易用性和可擴展性等方面表現(xiàn)出色,吸引了業(yè)界的廣泛關注。
隨著無線通信技術的快速發(fā)展,Astron Wireless Technologies Inc公司面臨著來自同行的競爭壓力。為了保持競爭優(yōu)勢,公司不斷加大研發(fā)投入,推出了一系列具有更高性能、更低成本的無線通信產(chǎn)品。同時,公司還加強了與客戶的溝通與合作,及時了解市場需求變化,并根據(jù)客戶需求進行產(chǎn)品調(diào)整和優(yōu)化。這些措施使得公司在激烈的市場競爭中保持了領先地位。
Astron Wireless Technologies Inc公司注重企業(yè)文化的建設和發(fā)展。公司倡導創(chuàng)新、合作、共贏的企業(yè)文化,鼓勵員工積極參與技術創(chuàng)新和業(yè)務拓展。同時,公司還注重員工的培訓和發(fā)展,為員工提供廣闊的職業(yè)發(fā)展空間和豐富的福利待遇。這種積極向上的企業(yè)文化使得公司能夠吸引和留住一批優(yōu)秀的人才,為公司的長遠發(fā)展提供了有力保障。
這些故事展示了Astron Wireless Technologies Inc公司在發(fā)展過程中可能遇到的挑戰(zhàn)和機遇,以及公司如何應對這些挑戰(zhàn)并抓住機遇實現(xiàn)持續(xù)發(fā)展的過程。然而,需要強調(diào)的是,這些故事僅為虛構(gòu),不代表公司的真實發(fā)展歷程。要了解公司的真實情況,建議查閱相關的新聞報道、行業(yè)分析報告或公司官方資料。
為了降低生產(chǎn)成本、提高生產(chǎn)效率,Connector City公司開始實施產(chǎn)業(yè)鏈整合戰(zhàn)略。公司與上游原材料供應商和下游客戶建立了緊密的合作關系,實現(xiàn)了供應鏈的優(yōu)化和協(xié)同發(fā)展。通過整合產(chǎn)業(yè)鏈資源,公司不僅降低了采購成本和市場風險,還提高了產(chǎn)品質(zhì)量和交貨速度,進一步增強了市場競爭力。
[方案]某監(jiān)獄閉路電視監(jiān)控系統(tǒng)設計方案--2 四、總體設計 4.1 需求分析 閉路電視監(jiān)控系統(tǒng)應該說是跨學科跨行業(yè)的系統(tǒng)工程,以功能要求的不同可分為以下幾個方面: 1)前端攝像系統(tǒng) 2)視頻傳輸系統(tǒng) 3)視頻控制系統(tǒng) 4)視頻顯示和記錄系統(tǒng) 攝像部分是電視監(jiān)控系統(tǒng)的前沿部分,是整個系 ...… 查看全部問答∨ |
壓力繼電器是利用液體的壓力來啟閉電氣觸點的液壓電氣轉(zhuǎn)換元件。當系統(tǒng)壓力達到壓力繼電器的調(diào)定值時,發(fā)出電信號,使電氣元件(如電磁鐵、電機、時間繼電器、電磁離合器等)動作,使油路卸壓、換向,執(zhí)行元件實現(xiàn)順序動作,或關閉電動機使系統(tǒng)停止 ...… 查看全部問答∨ |
別家的仿真器都已經(jīng)支持 Keil C V8~9 了,為什么偉福的仿真器還停留在V4~5 從 WAVE6000 玩到 V8,都已經(jīng)快 10 個年頭了,偉福還是沒有任何改善? … 查看全部問答∨ |
EVC下寫的一個正弦曲線程序,現(xiàn)在程序能運行,就是每條曲線顯示后會留下一些點,所以,程序運行一會,屏幕上點越來越多,很煞風景! 能否添加代碼使畫一條新的曲線前清空屏幕上所有的點,這個問題,大家?guī)蛶臀?,拜托各位咯,超級謝謝++ 代碼: v ...… 查看全部問答∨ |
請教U_boot在博創(chuàng)s3c410上移植的問題,急切盼望中?。。。?! 我用的是u-boot-1.1.6,編譯器用的是自帶的編譯器,并且已經(jīng)修改了 uboot根目錄下Makefile中編譯器地址 make后錯誤如下:請教高人指點!?。。。。。。。〖鼻信瓮校。。。。? root@localhost u-boot-1.1.6]# make make: *** Warning: File `/ub ...… 查看全部問答∨ |
我在調(diào)試TC35i模塊的過程中,當不放入SIM卡時,模塊正常啟動工作;但是當放入SIM卡時,啟動模塊后半分鐘就自動關斷了(也有可能是死機),不知道這是什么原因?請高手指點!謝謝!… 查看全部問答∨ |
- 貿(mào)澤開售BeagleBoard CC33 2.4GHz Wi-Fi 6 BLE無線模塊
- 伊世智能發(fā)布「C2000 F29芯片」HSM信息安全固件,賦能AI服務器供電系統(tǒng)信息安全
- “你好BOE”2025首站啟幕 助力“橫琴-澳門國際數(shù)字藝術博覽會”打造沉浸式科技藝術新高地
- 消息稱蘋果曾計劃與波音合作推出衛(wèi)星家庭互聯(lián)網(wǎng)服務
- AI PC時代,英特爾和微軟引領PC產(chǎn)業(yè)翻開Windows 11 AI+ PC新篇章!
- 跨國地面與太空連接,5G NTN為未來6G打下堅實基礎
- 全新英特爾至強6處理器:為滿足AI模型和數(shù)據(jù)集增長需求而生
- 英飛凌攜手NVIDIA,引領未來AI服務器機架電源架構(gòu)變革
- 為AI PC加雙慧眼,英特爾與億道集團、亦心科技帶來AI眼鏡與AI PC的首次結(jié)合