資源簡(jiǎn)介
STM32串口通信協(xié)議和狀態(tài)機(jī)模式程序,親測(cè)能用。內(nèi)有詳細(xì)的講解文檔,很好的學(xué)習(xí)資料。
代碼片段和文件信息
#include?
#include?“stm32f10x.h“
#include?“ADXL345.h“
#include?“Type.h“
volatile?u8?TxMailBox?=?0;
extern?CANProtocolStruct?CANprotocalStruct;
void?SPI_Config(void)
{
??? SPI_InitTypeDef??SPI_InitStructure;
GPIO_InitTypeDef?GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA|RCC_APB2Periph_SPI1?ENABLE); ?
/*configure?SPI?NSSSCKMISOMOSI*/
????GPIO_InitStructure.GPIO_Pin?=GPIO_Pin_4;
????GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
????GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
????GPIO_Init(GPIOA?&GPIO_InitStructure);
???
????GPIO_SetBits(GPIOAGPIO_Pin_4);
??????
????GPIO_InitStructure.GPIO_Pin?=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
????GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
????GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
????GPIO_Init(GPIOA?&GPIO_InitStructure);
???
????/*SPI1?Peripheral?Configuration*/
????SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;
????SPI_InitStructure.SPI_Mode=SPI_Mode_Master;
????SPI_InitStructure.SPI_DataSize?=?SPI_DataSize_16b;
????SPI_InitStructure.SPI_CPOL=SPI_CPOL_High;
????SPI_InitStructure.SPI_CPHA=SPI_CPHA_2Edge;
????SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;
????SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_4;
????SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;
????SPI_InitStructure.SPI_CRCPolynomial=7;
????SPI_Init(SPI1?&SPI_InitStructure);???
????SPI_Cmd(SPI1ENABLE);
}
u8?read_byte(u8?add)
{
GPIO_ResetBits(GPIOAGPIO_Pin_4);
while(SPI_I2S_GetFlagStatus(SPI1SPI_I2S_FLAG_TXE)==RESET); ???
SPI_I2S_SendData(SPI1(add|0x80)<<8|0x00);
while(SPI_I2S_GetFlagStatus(SPI1?SPI_I2S_FLAG_RXNE)==RESET);
GPIO_SetBits(GPIOAGPIO_Pin_4);
return?SPI_I2S_ReceiveData(SPI1)&0xff;
}
void?write_byte(u8?addu8?val)
{
GPIO_ResetBits(GPIOAGPIO_Pin_4);
SPI_I2S_SendData(SPI1add<<8|val);
while(SPI_I2S_GetFlagStatus(SPI1SPI_I2S_FLAG_TXE)==RESET);
while(SPI_I2S_GetFlagStatus(SPI1?SPI_I2S_FLAG_RXNE)==RESET);
GPIO_SetBits(GPIOAGPIO_Pin_4);
SPI_I2S_ReceiveData(SPI1)&0xff;???
}
void?InitAdxl345(void)
{??????????????????????????????????????????????//Can128中斷初始化???
write_byte(ADXL345_REG_ADDR_DATA_FORMAT?ADXL345_FULL_RES);?//數(shù)據(jù)格式控制?0x31?中斷低電平有效?-+2g
write_byte(ADXL345_REG_ADDR_BW_RATEADXL345_RATE_400);?????????//數(shù)據(jù)速率及功率模式控制?0x2c數(shù)據(jù)傳輸速率為50????
write_byte(ADXL345_REG_ADDR_POWER_CTLADXL345_MODE_MEASURE);??//省電特性控制0x2d?測(cè)量模式????????
write_byte(ADXL345_REG_ADDR_OFSX0x30);????//X軸偏移???偏移量0??????
write_byte(ADXL345_REG_ADDR_OFSY0x00);????//Y軸偏移???偏移量0?????
write_byte(ADXL345_REG_ADDR_OFSZ0x00);????//Z軸偏移???偏移量0?????????????????????????
}
/********************************************************************
Function:????ReadL345DataXYZ
Description:?讀Adxl345的X軸數(shù)據(jù)
Input:????none
Output:???none
return:???none
*********************************************************************/
void?ReadL345DataXYZ(void)
{??????
????u
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3992??2013-01-16?20:08??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\ADXL345.c
?????文件???????8998??2013-01-16?09:35??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\ADXL345.h
?????文件????????544??2013-01-12?12:23??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\beep.c
?????文件????????161??2013-01-12?12:23??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\beep.h
?????文件???????2526??2013-01-16?20:40??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\can1.c
?????文件????????139??2013-01-16?20:40??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\can1.h
?????文件???????4378??2013-01-12?12:23??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\can_lp.c
?????文件????????174??2013-01-12?12:23??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\can_lp.h
?????文件??????47200??2013-01-12?12:23??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\fonts.c
?????文件???????2151??2013-01-12?12:23??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\fonts.h
?????文件????????482??2013-07-02?19:12??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Include.h
?????文件????????380??2013-01-16?08:59??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Init.c
?????文件?????????83??2013-01-16?08:59??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Init.h
?????文件???????5934??2013-06-25?10:28??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\key.c
?????文件???????2542??2013-06-25?10:29??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\key.h
?????文件???????1692??2013-01-16?20:31??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\led.c
?????文件????????373??2013-01-16?20:31??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\led.h
?????文件???????7627??2013-06-06?16:06??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\nRF24L01.c
?????文件???????5583??2013-01-27?10:46??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\nRF24L01.h
?????文件???????1922??2013-07-03?21:28??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\NVIC.c
?????文件?????????85??2013-01-16?08:55??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\NVIC.h
?????文件??????10717??2013-07-04?09:36??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Printf.c
?????文件????????702??2013-07-03?20:24??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Printf.h
?????文件???????5650??2013-01-16?20:20??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Protocol.c
?????文件????????258??2013-01-16?08:50??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Protocol.h
?????文件????????709??2013-06-24?10:36??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\PVD.c
?????文件?????????78??2013-06-24?10:37??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\PVD.h
?????文件???????1322??2013-01-16?20:05??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Queue.c
?????文件????????420??2013-01-12?20:34??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\Queue.h
?????文件???????2943??2013-01-27?10:52??STM32板子串口通信協(xié)議_狀態(tài)機(jī)模式\實(shí)現(xiàn)代碼\STM32107接收\config\SPI.c
............此處省略579個(gè)文件信息
評(píng)論
共有 條評(píng)論