⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 S3C2410中bluetooth驱动源码,在ADS1.2下编译工程通过,附文档.
💻 C
字号:
#include "2410addr.h"
#include "SD_EXTR.H"
#include "HCI_EXTR.H"
#include "2410lib.h"
#include "INT.h"
#include "consol.h"
/*
****************************************************************************************************
*											全局变量定义
* 功	能:全局变量定义
****************************************************************************************************
*/


//定义串口-打印提示信息,可屏蔽,在头文件(SD_DEF.H)中定义SERIAL_IO为FALSE
SD_PORT port;
struct hci_dev hci_device;

//定义hci设备

/*
****************************************************************************************************
*											主循环程序
* 功	能:主循环程序
****************************************************************************************************
*/

int main(void)
{   
	int i;
	char ch;
	
	ChangeClockDivider(1, 1);            // 1:2:4
	ChangeMPllValue(0xa1, 0x3, 0x1);      // FCLK=202.8MHz
	Port_Init();
	__vInitHaltHandlers();
	
	port.com_port = DEFAULT_UART_PORT; 
	port.baud_rate = 57600;
	port.data_bits = DEFAULT_UART_DATA; 
	port.stop_bits = DEFAULT_UART_STOP; 
	port.parity = DEFAULT_UART_PARITY; 
	
	SDC_Init_Port(&port);	//串口初始化
	//SDC_Put_String("\n\r接收到的数据\n\r",&port); 
	ISRVector[28] = SDC_LISR0;
	
	
	//for(i=0;i<((char*)(&hci_device.HCI_tx_buffer_status)+4-(char*)(&hci_device));i++)
	for(i = 0; i < sizeof(hci_device); i++)
	{
		*((char*)(&hci_device) + i) = 0;
	}
	
	hci_device.HCI_tx_buffer_status = HCI_TX_BUFF_EMPTY;

	hci_device.auth_flags = 1;
	hci_device.cmd_complete_flags = 1;
	hci_device.cmd_status_flags = 1;
	hci_device.inqu_flags = 1;
	hci_device.link_flags = 1;
	//hci_device.scan_flags = 1;

	hci_device.conn_accept_timeout = DEFAULT_HCI_CONN_ACP_TIMEOUT;
	hci_device.page_timeout = DEFAULT_HCI_PAGE_TIMEOUT;

	hci_device.voice_setting = DEFAULT_HCI_VOICE_SETTING;

	__bt_mem_cpy((void*)(hci_device.hci_device_info.name), "BT1", 3);
	for(i = 0; i < 3; i++)
	{
		char ch;
		ch = (char)((DEFAULT_HCI_CLASS_OF_DEVICE >> (i * 8)) & 0xff);
		hci_device.hci_device_info.class_device[i] = ch;
	}
	for(i = 0; i < 3; i++)
	{
		char ch;
		ch = (char)((DEFAULT_HCI_IAC_LAP >> (i * 8)) & 0xff);
		hci_device.ic.lap[i] = ch;
	}
	hci_device.ic.length = DEFAULT_HCI_IAC_LEN;
	hci_device.ic.num_rsp = DEFAULT_HCI_IAC_NUM_RSP;

	hci_device.scan_enable = DEFAULT_HCI_SCAN_ENABLE;
	hci_device.authen_enable = DEFAULT_HCI_AUTHEN_ENABLE;

	hci_device.port = &port;
	
	hci_init_req1(&hci_device);
	__delay(1);
	hci_init_req2(&hci_device);
	__delay(1);
	
	#ifdef __MASTER__
	HCI_master_create_acl_conn(&hci_device);
	//HCI_Send_acl_demo(&hci_device);
	HCI_SCO_conn(&hci_device);
	#endif
	
	do
	{
		while (SDC_Data_Ready(&port))
		{
			ch = SDC_Get_Char(&port);
			SDC_Put_Char(ch,&port);
		}

	}while(1);
	hci_disconnect(&hci_device,REJECT_REASON);
}//main

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -