主页 > 帕鲁指南 > 移动,联通,电信哪家的手机3G卡打电话信号好?
帕鲁指南

移动,联通,电信哪家的手机3G卡打电话信号好?

2024-05-22  来自:未知  admin

一、移动,联通,电信哪家的手机3G卡打电话信号好?

联通WCDMA

RTT FDD

3g异步CDMA系统:无GPS

带宽:5MHz

码片速率:3.84Mcps

中国频段:1940MHz-1955MHz(上行)、2130MHz -2145MHz(下行)

移动TD-SCDMA

RTT TDD

同步CDMA系统:有GPS

带宽:1.6MHz

码片速率:1.28Mcps

中国频段:1880-1920MHz、2010-2025MHz 2300-2400MHz

电信CDMA2000

RTT FDD

同步CDMA系统:有GPS

带宽:1.23MHz

码片速率:1.2288Mcps

中国频段:1920MHz -1935MHz(上行)、2110MHz -2125MHz(下行)

站在运营商的角度,三种技术标准的基站等投入成本和运营成本会有差别,TD的建设难度相对较大,但是建设成本由于自主知识产权反而更便宜,但是网络运行经验相对不成熟,所以国家决定给实力较强的移动发牌照,实际上为了是平均了各家的运营成本。

站在用户的角度,我觉得首先自费低、终端品种选择多、增值服务功能多才是好的网络。个人觉得WCDMA国外经验成熟,下载速度快、终端产品丰富(诺基亚多款手机同时支持2.5G和WCDMA),加上联通一贯的低自费销售策略,WCDMA是个不错的选择!

二、中国移动即将推出的TDS-CDMA网络,属于3G网络吗?

属于.

百度百科:TD-SCDMA标准是由中国第一次提出并在此无线传输技术(RTT)的基础上与国际合作,完成了TD-SCDMA标准,成为CDMA TDD标准的一员的,这是中国移动通信界的一次创举,也是中国对第三代移动通信发展的贡献。在与欧洲、美国各自提出的3G标准的竞争中,中国提出的TD-SCDMA已正式成为全球3G标准之一,这标志着中国在移动通信领域已经进入世界领先之列。

三、rt thread钩子函数怎么用

RTT在空闲的时候可以使用钩子函数执行些简单的任务,例如LED闪烁之类的程序,利用这个功能我们可以做个工作状态指示灯

要使用钩子必须在配置里打开钩子的配置,在rt-config.h里添加HOOK宏定义(如果没有的话)

#define RT_USING_HOOK

然后在应用程序里设置钩子函数

#ifdef RT_USING_HOOK

rt_thread_idle_sethook(rt_hw_led_flash);

#endif

下面就是该怎样实现这个函数了

void rt_hw_led_flash(void)

{

rt_uint32_t i;

rt_hw_led_init();

while (1)

{

for(i = 0; i < 2700000; i++); //500ms

GPIO_WriteBit(state_led_gpio, state_led_pin, (BitAction)(1-GPIO_ReadOutputDataBit(state_led_gpio, state_led_pin)));

}

}

这样写过之后,在系统空闲的时候就会执行这个函数,当然,如果系统繁忙的时候是不会进入这个idel任务的,不过如果系统一直处于繁忙的状态就是有问题了

另外一点记住,在这个函数里不能调用系统提供的使线程挂起的函数

例如:

rt thread delay,

rt sem take

while (1)

{

for(i = 0; i < 2700000; i++); //500ms

GPIO_WriteBit(state_led_gpio, state_led_pin, (BitAction)(1-GPIO_ReadOutputDataBit(state_led_gpio, state_led_pin)));

}

关键是这个while(1)没跳出的,所以全部在这里执行了。

好像还有同学对其中一些并不是完全清楚,所以继续解析下,当做结贴:

1. idle线程是系统中最后一道防线,它将是系统中,如果无其他事可干时的最后能够运行的线程。

-- 所以idle线程不应该被阻塞。如果你有自己的线程能够成为这最后一道防线,那么这个限制将不存在。而对于一些原来系统中放在idle线程中做的工作(例如原来的最终的线程删除动作),在0.4.x中,可以手工调用rt_thread_idle_excute函数来执行。

2. 当系统空闲的时候,idle线程将执行这个钩子函数。

假设钩子函数一次运行会执行1ms,如果idle线程有机会运行200ms,那么钩子函数将被调用200次。

3. 钩子函数运行时,不应该把idle线程总是纠结在这个函数中运行,必须要让idle线程有机会去运行rt_thread_idle_excute函数(因为还有一些事情等待idle线程去处理)。

-- 所以在钩子函数中,不应该使用while(1);的方式。

while(1)

{

if ( indicator == RT_TRUE)

{

....do something

}

else

delay(20ms)

}

这样那20ms会执行idle线程吧,问题是idle 20ms够吗,如果我改20ms为5ms呢?

如果没有其他线程处理事务,将转换到idle线程去,通常idle线程中的系统任务会在0.xx ms以内执行完毕