久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
BOX_FDC2214配套資料下載(含51單片機與stm32源碼)
[打印本頁]
作者:
追隨我心520
時間:
2018-7-20 09:16
標題:
BOX_FDC2214配套資料下載(含51單片機與stm32源碼)
FDC2214資料
0.png
(48.36 KB, 下載次數: 24)
下載附件
2018-7-20 17:35 上傳
所有資料51hei提供下載:
BOX_FDC2214配套資料(2).rar
(4.94 MB, 下載次數: 91)
2018-7-20 09:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
文件列表:
串口助手和驅動\
BoxTechFDC2214串口轉接模塊使用手冊.pdf
FDC2214-q1-官方文檔.pdf
FDC2214中文手冊-技術盒子翻譯.pdf
FDC2214模塊原理圖.pdf
STC51Client-FDC2214串口轉接模塊例程.rar
STM32Client-FDC2214串口轉接模塊例程.rar
看資料之前首先看我哦.pdf
單片機源程序如下:
#include "stc15wxxx.h"
#include <my_typedef.h>
#include "client_task.h"
//如果自己移植,需要更換"stc15wxxx.h"頭文件
sbit LED = P1^1;
void FDC_Set(ClientID , uint16_t fdc_data);
uint32_t ch_data[4]={0};//通道數據
uint8_t rx_buff[20] ={0};//接收BUFF
uint8_t tx_buff[4] ={0};//發送BUFF
void main(void)
{
LED = 0;
/*******配置串口(STC15W408AS單片機) 如果自己移植,需要更改此配置保證波特率為115200*******************/
SCON = 0x50; //8位數據,可變波特率
AUXR |= 0x01; //串口1選擇定時器2為波特率發生器
AUXR |= 0x04; //定時器2時鐘為Fosc,即1T
AUXR1 |= 0X40; //切換串口到3.6 3.7
T2L = 0xB8; //設定定時初值
T2H = 0xFF; //設定定時初值
AUXR |= 0x10; //啟動定時器2
ES = 1; //使能串口1中斷
EA = 1;
/**************************/
//配置時按照下面配置即可、、具體使用"client_task.h"頭文件內有詳細說明
FDC_Set(reset_device, BOXEnable);//復位芯片
FDC_Set(clk_src, Clk_src_internal);//選用內部時鐘
FDC_Set(autoscan, BOXEnable);
FDC_Set(sleep, BOXDisable);//退出睡眠模式 復位后一定要退出睡眠模式
while(1)
{
}
}
uint16_t StartRx =0;
void serial() interrupt 4
{
uint8_t Res =0;
if(RI)//判斷是否為接收中斷 (如果自己移植,修改此處的接收中斷條件判斷)
{//是
Res = SBUF;//讀取本次接收到的一個字節數據 (如果自己移植,修改此處的數據讀取)
if(StartRx)//如果標記了已經開始接收幀數據
{
rx_buff[StartRx -1] = Res;//接收幀數據
if((StartRx -1) >= 17)
{//接收完畢
if(rx_buff[16] != 0x55)//判斷幀尾是否為 0x55,是則存儲通道數據;否則舍棄本次接收,直接退出
{
return;
}
else
{//合成通道數據
LED = ~LED;
//此處接收的數據為傳感器采集的原始數據,同學們可自行轉換為電容值
ch_data[0] = (rx_buff[0]<<24) + (rx_buff[1]<<16) + (rx_buff[2]<<8) + rx_buff[3];
ch_data[1] = (rx_buff[4]<<24) + (rx_buff[5]<<16) + (rx_buff[6]<<8) + rx_buff[7];
ch_data[2] = (rx_buff[8]<<24) + (rx_buff[9]<<16) + (rx_buff[10]<<8) + rx_buff[11];
ch_data[3] = (rx_buff[12]<<24) + (rx_buff[13]<<16) + (rx_buff[14]<<8) + rx_buff[15];
}
StartRx = 0;//標記復位
}
StartRx ++;//標記遞增 為接收下一字節數據做準備
}
if((Res == 0x76)) //如果是幀頭且未開始接收通道數據
StartRx = 1;//標記 下一次進入中斷開始接收幀數據
RI = 0; //清除中斷標志 (如果自己移植,修改此處的中斷標志清零)
}
}
void FDC_Set(ClientID ID, uint16_t fdc_data)
{
uint8_t i;
tx_buff[0] = 0x56;
tx_buff[1] = (uint8_t)(ID);
tx_buff[2] = (uint8_t)(fdc_data >> 8);
tx_buff[3] = (uint8_t)(fdc_data);
tx_buff[4] = 0x55;
for(i=0;i< 5; i++)
{
SBUF = tx_buff[i];
while (!TI);
TI = 0;
}
}
復制代碼
stm32源碼:
#include <stm32f4xx.h>
#include "delay.h"
#include "oled.h"
#include "client_task.h"
void Nvic_Init(void);
void USART1_Configuration(void);
void FDC_Set(ClientID ID, uint16_t data);
uint32_t ch_data[4]={0};//通道數據
uint8_t rx_buff[32] ={0};//接收緩沖
uint8_t tx_buff[5] ={0};//發送緩沖
int main(void)
{
delay_ms(1000);
USART1_Configuration();//配置串口1
Nvic_Init();
OLED_Init();
OLED_ShowString(0,0,"CH0:",16);
OLED_ShowString(0,2,"CH1:",16);
OLED_ShowString(0,4,"CH2:",16);
OLED_ShowString(0,6,"CH3:",16);
delay_ms(1000);
//配置時按照下面配置即可、、具體使用"client_task.h"頭文件內有詳細說明
FDC_Set(reset_device, BOXEnable);//復位芯片
FDC_Set(clk_src, Clk_src_internal);//選用內部時鐘
FDC_Set(sleep, BOXDisable);//退出睡眠模式 復位后一定要退出睡眠模式
while(1)
{//顯示數據
OLED_ShowNum(30,0,ch_data[0],9,16);//OLED顯示四個通道的數據
OLED_ShowNum(30,2,ch_data[1],9,16);
OLED_ShowNum(30,4,ch_data[2],9,16);
OLED_ShowNum(30,6,ch_data[3],9,16);
delay_ms(50);
}
}
/*
波特率一定要設置為115200·
如果要移植到51上:
1.把USART_GetITStatus(USART1, USART_IT_RXNE) != RESET這句更改為RI,并在if語句結尾加上RI =0;
2.把USART_ReceiveData(USART1)更換為SBUF
*/
void USART1_IRQHandler(void)
{//串口1中斷函數
uint8_t Res =0;
static uint8_t StartRx =0;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//判斷是否為接收中斷
{//是
Res = USART_ReceiveData(USART1);//讀取本次接收到的一個字節數據
if(StartRx)//如果標記了已經開始接收幀數據
{
rx_buff[StartRx -1] = Res;//接收幀數據
if((StartRx -1) >= 17)
{//接收完畢
StartRx = 0;//標記復位
if(rx_buff[16] != 0x55)//判斷幀尾是否為 0x55,是則存儲通道數據;否則舍棄本次接收,直接退出
return;
else
{//合成通道數據
ch_data[0] = (rx_buff[0] * 16777216) + (rx_buff[1] * 65536) + (rx_buff[2] * 256) + rx_buff[3];
ch_data[1] = (rx_buff[4] * 16777216) + (rx_buff[5] * 65536) + (rx_buff[6] * 256) + rx_buff[7];
ch_data[2] = (rx_buff[8] * 16777216) + (rx_buff[9] * 65536) + (rx_buff[10] * 256) + rx_buff[11];
ch_data[3] = (rx_buff[12] * 16777216) + (rx_buff[13] * 65536) + (rx_buff[14] * 256) + rx_buff[15];
}
}
StartRx ++;//標記遞增 為接收下一字節數據做準備
}
if((Res == 0x76) && (!StartRx)) //如果是幀頭且未開始接收通道數據
StartRx = 1;//標記 下一次進入中斷開始接收幀數據
}
}
void FDC_Set(ClientID ID, uint16_t data)
{
uint8_t i;
tx_buff[0] = 0x56;
tx_buff[1] = (uint8_t)(ID);
tx_buff[2] = (uint8_t)(data >> 8);
tx_buff[3] = (uint8_t)(data);
tx_buff[4] = 0x55;
for(i=0;i< 5; i++)
{
USART_SendData(USART1,tx_buff[i]);
while (USART_GetFlagStatus(USART1,USART_FLAG_TC) == RESET);
}
}
void USART1_Configuration(void)
{
USART_InitTypeDef usart;
GPIO_InitTypeDef gpio;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource6 ,GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOB,GPIO_PinSource7 ,GPIO_AF_USART1);
gpio.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
gpio.GPIO_Mode = GPIO_Mode_AF;
gpio.GPIO_OType = GPIO_OType_PP;
gpio.GPIO_Speed = GPIO_Speed_100MHz;
gpio.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOB,&gpio);
usart.USART_BaudRate = 115200;
usart.USART_WordLength = USART_WordLength_8b;
usart.USART_StopBits = USART_StopBits_1;
usart.USART_Parity = USART_Parity_No;
usart.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;//
usart.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_Init(USART1,&usart);
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//串口空閑中斷
USART_Cmd(USART1,ENABLE);
}
void Nvic_Init(void)
{
NVIC_InitTypeDef NVIC_InitStructure;// /* NVIC_PriorityGroup */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //優先級分組2:搶占優先級(0-3):相應優先級(0-3)
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //DMA2STR1CH5
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
復制代碼
作者:
地理課代表
時間:
2019-3-23 10:52
感謝分享
作者:
rojarsmith
時間:
2019-4-23 13:04
不錯喔
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产成人av在线播放
|
毛片免费看
|
国产激情视频在线观看
|
成人二区
|
亚洲一区在线日韩在线深爱
|
99热这里有精品
|
伊人久久综合
|
久久精品久久综合
|
在线高清免费观看视频
|
365夜爽爽欧美性午夜免费视频
|
一区二区视频在线观看
|
影音先锋亚洲资源
|
久久久久久免费毛片精品
|
国产视频中文字幕
|
国产一区二区日韩
|
人操人人干人
|
日韩精品
|
亚洲精品自在在线观看
|
国产视频一区二区
|
国产成人jvid在线播放
|
亚洲成人在线免费
|
欧美成年网站
|
日本久久久一区二区三区
|
在线播放亚洲
|
999久久久久久久久6666
|
操一草
|
午夜网站视频
|
欧美大片一区
|
在线观看深夜视频
|
欧美精品第一区
|
亚洲精品一区二区在线
|
国产欧美一区二区精品久导航
|
国产亚洲精品久久午夜玫瑰园
|
亚洲最大av
|
成人免费日韩
|
国产精品久久久久久婷婷天堂
|
在线免费小视频
|
欧美日韩在线综合
|
成人国产精品久久
|
国产黄色网
|
偷拍自拍网址
|