序列口接收訊號

2021-08-14 20:53:55 字數 2302 閱讀 2484

以下是程式

#include "stm32f10x.h"

#include "stm32f10x_gpio.h"

#include "stm32f10x_rcc.h"

#include "stm32f10x_usart.h"

#define led0    gpio_pin_8

#define led1    gpio_pin_9

#define led2    gpio_pin_10

#define led3    gpio_pin_11

#define led4    gpio_pin_12

#define led5    gpio_pin_13

#define led6    gpio_pin_14

#define led7    gpio_pin_15

#define led_all (led0 | led1 | led2 | led3 | led4 | led5 | led6 | led7)

#define led_port gpioc

#define n_le

gpio_pin_2

#define n_le_port

gpiod

#define swn

4 /* 按鍵數量 */

#define n_k1

gpio_pin_0

#define n_k2

gpio_pin_8

#define n_k3

gpio_pin_1

#define n_k4

gpio_pin_2

#define n_k1c

gpioa

#define n_k2c

gpioa

#define n_k3c

gpiob

#define n_k4c

gpiob

#define led_out(x)

gpio_setbits(led_port,led_all), \

gpio_resetbits(led_port, x<<8), \

gpio_setbits(n_le_port,n_le), \

gpio_resetbits(n_le_port,n_le)

typedef enum

y_bool;

static y_bool led_t = true;

/* 設定二極體狀態標記 */

static y_bool rl = true;

/* 設定二極體左右移狀態標記 */

static y_bool km = true;

/* 設定二極體移動速度標記 */

static y_bool key_t = false;

/* 設定按鍵檢測標記 */

static y_bool usart_t = false;

/* 設定序列口傳送標記 */

/*void systeminit()

*//* 配置函式(初始化) */

void init()

/*systick中斷程式*/

void systick_handler()

/* k2(控制快慢)按下後續處理 */

/* 初始:設為1s */

/* 按下可改變速度 */

void syst()

/* 判斷k1(亮燈移動方向,左右)是否按下 */

/* 按下可改變方向 */

void led()

else

}/* 按鍵檢測函式 */

uint8_t key_c()

;/* 設定按鍵組(引腳),使按鍵可以表示為十六進製制 */

const gpio_typedef* key_port[swn] = ;/* 設定按鍵組(埠),使按鍵可以表示為十六進製制 */

for(key_n = 0, i = 0; i < swn; i++)/* 檢測 */

x = (key_n ^ key_o) & key_o;/* 取key_n補碼(值為按鍵十六進製制值) */

key_o = key_n;/* 當前按鍵值作為下次比較物件 */

return x;

}/* 串列埠傳送函式 */

void usart_sendstring(int8_t *str)

while(str[index] != 0);  //檢查字串結束標誌

}/* 按鍵處理函式 */

void key_d(uint8_t x)

int main()

if(key_t)

if(key_dn)

if(usart_t)}}

UART序列口工作原理

通過非同步收發器 uart 用來傳輸序列資料。uart之間以全雙工方式傳輸資料,最精簡的連線方法只有三條連線 txd用於傳送資料,rxd用於接收資料,gnd給雙方提供參考電平。uart使用標準的cmos邏輯電平 0 5v 0 3.3v 0 2.5v或0 1.8v四種 來表示資料,高電平為1,低電平為...

RSSI是接收訊號強度指示

要通過rssi計算兩點之間距離,就要建立無線損耗模型,要經過實地實驗,前人已經建立了很多經典的衰減模型,例如室內衰減模型,我看這個就能用,不過要測試衰減因子n和xq,還有參考距離的rss,今早用了兩個500mw的無線模組在一公尺範圍內測得rssi 47.5dbm,用50mw的測試也是,這不是扯淡?可...

序列口動態掃瞄顯示電路

2006 05 11 09 29 36 51微控制器程式設計範例 序列口動態掃瞄顯示電路 微控制器並行i o口數量總是有限的,有時並行口需作其他更重要的用途,一般也不會用數量眾多的並行i o口專門用來驅動顯示電路,能否用80c51的序列通訊口加上少量i o及擴充套件晶元用於顯示電路呢?答案是肯定的。...