在BLE112的程序中,我测量RSSI,然后打开LED。我已经为此目的写了一个程序。我得到了RSSI,如果值大于-70 dBm,我打开P_03和P_04中的LED,如果值小于-70 dBm,则LED关闭。但有一个问题:当我闪光灯,我的模块,一切都好-发光二极管是关闭的,但当我连接我的手机与BLE112的LED打开,仅此而已!他们不回应RSSI的声明。我找不到关于这个问题的任何信息,所以我决定问你这个问题。我附上我的项目。这是我获得RSSI并设置为高PIN的代码的一部分:
event hardware_soft_timer(handle)
if ( connected )
call connection_get_rssi(active_connection)(ret_connection, ret_rssi)
if ( ret_rssi > -80 )
call hardware_io_port_write(0, $18, $18)
else
call hardware_io_port_write(0, $18, 00)
end if
end if发布于 2013-12-21 23:14:38
"int8“数据类型是一个有符号的(两个补码)8位整数,实际上,0127代表那些实际值,128到255分别代表-128到-1。因为RSSI值在BLE上总是为负值,这意味着-50的数学整数表示实际上是205。
做以下工作:
#Get RSSI value of connection
call connection_get_rssi(connection_handle)(connection_handle,rssi)
#Convert ASCII into integer
rssi = $100 - rssi
#if device is within range...
if rssi >= 80 then...哦.100美元是256美元。您可以简单地使用256将仍然工作。
https://stackoverflow.com/questions/20636873
复制相似问题