日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SJA1000+XC7Z030,SJA1000初始化及PS数据读取

發布時間:2024/3/12 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SJA1000+XC7Z030,SJA1000初始化及PS数据读取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本人某高校研究生,剛剛研一,接觸了一些小項目,想單純記錄一下項目進度以及成果。水平不足,僅供參考,希望能夠對大家有所幫助。

板卡介紹:板卡上共4片SJA1000-T芯片,具體芯片功能不進行贅述了,布線方面,四片SJA1000的AD0~AD7拉成了一套數據地址總線,RD#、WR#、RST均是總線形式,ALE、INT#、CS#則是每片使用。

以下是SJA1000的具體原理圖,采用了兩片晶振分別為16MHZ和12MHZ,通過撥碼開關進行選擇。

接下來進行SJA1000初始化的具體操作:

Vivado部分:

首先,在Vivado中加入system.bd以及AXI GPIO IP核,此程序選擇dual channel 模式:

Auto Connect以后生成以下design。其中GPIO_0是所有的控制引腳,GPIO2_0則為AD0~AD7(需要注意的是,這里的信號反向全部使用IO,在SDK中我們可以通過XGpio_SetDirection函數進行輸入輸出方向的設置,其內部原理就是控制IOBUF中的IO_t引腳高低電平)

之后Create?HDL——Genrate Output——xdc管腳約束——generate bitstream——export hardware——launch sdk

SDK部分:

1.首先我們要根據Datasheet中給出的寄存器偏移地址寫出SJA1000.h文件方便之后寄存器調用

#ifndef ?__SJA1000_H__
#define ?__SJA1000_H__
#include ?"string.h"


#define ?SJA_BaseAdr ?0X00


#define ? ? ? ? REG_CONTROL ? ? ? SJA_BaseAdr+0x00 ? ? ? //內部控制寄存器
#define ? ? ? ? REG_COMMAND ? ? ? SJA_BaseAdr+0x01 ? ? ? //命令寄存器 ? ? ?只寫
#define ? ? ? ? REG_STATUS ? ? ? ?SJA_BaseAdr+0x02 ? ? ? //狀態寄存器 ? ? ?只讀
#define ? ? ? ? REG_INTERRUPT ? ? SJA_BaseAdr+0x03 ? ? ? //中斷寄存器 ? ? ?只讀
#define ? ? ? ? REG_INTENABLE ? ? SJA_BaseAdr+0x04 ? ? ? //中斷使能寄存器 ? 可讀可寫
#define ? ? ? ? REG_RESVER0 ? ? ? SJA_BaseAdr+0x05 ? ? ? //保留0
#define ? ? ? ? REG_BTR0 ? ? ? ? ?SJA_BaseAdr+0x06 ? ? ? //總線定時寄存器0 ?復位模式讀寫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義了波特率預設值BRP 和同步跳轉寬度SJW 的值
#define ? ? ? ? REG_BTR1 ? ? ? ? ?SJA_BaseAdr+0x07 ? ? ? //總線定時寄存器1 ?復位模式讀寫
//總線定時寄存器1 定義了每個位周期的長度采樣點的位置和在每個采樣點的采樣數目
#define ? ? ? ? REG_OCR ? ? ? ? ? SJA_BaseAdr+0x08 ? ? ? //輸出控制寄存器 ?復位模式讀寫
//輸出控制寄存器實現了由軟件控制不同輸出驅動配置的建立
#define ? ? ? ? REG_TEST ? ? ? ? ?SJA_BaseAdr+0x09 ? ? ? //測試寄存器
#define ? ? ? ? REG_RESVER1 ? ? ? SJA_BaseAdr+0x0A ? ? ? //保留1
#define ? ? ? ? REG_ARBITRATE ? ? SJA_BaseAdr+0x0B ? ? ? //仲裁丟失捕捉 ? ?只讀
#define ? ? ? ? REG_ERRCATCH ? ? ?SJA_BaseAdr+0x0C ? ? ? //錯誤代碼捕捉 ? ?只讀
#define ? ? ? ? REG_ERRLIMIT ? ? ?SJA_BaseAdr+0x0D ? ? ? //錯誤報警限額 ? ?工作模式只讀 復位模式可讀寫


#define ? ? ? ? REG_RXERR ? ? ? ? SJA_BaseAdr+0x0E ? ? ? ? //接收錯誤計數器工作模式只讀 復位模式可讀寫
#define ? ? ? ? REG_TXERR ? ? ? ? SJA_BaseAdr+0x0F ? ? ? ? //發送錯誤計數器工作模式只讀 復位模式可讀寫


#define ? ? ? ? REG_ACR0 ? ? ? ? ?SJA_BaseAdr+0x10 ? ? ? //驗收代碼寄存器
#define ? ? ? ? REG_ACR1 ? ? ? ? ?SJA_BaseAdr+0x11 ? ? ? //驗收代碼寄存器
#define ? ? ? ? REG_ACR2 ? ? ? ? ?SJA_BaseAdr+0x12 ? ? ? //驗收代碼寄存器
#define ? ? ? ? REG_ACR3 ? ? ? ? ?SJA_BaseAdr+0x13 ? ? ? //驗收代碼寄存器
#define ? ? ? ? REG_AMR0 ? ? ? ? ?SJA_BaseAdr+0x14 ? ? ? //驗收屏蔽寄存器
#define ? ? ? ? REG_AMR1 ? ? ? ? ?SJA_BaseAdr+0x15 ? ? ? //驗收屏蔽寄存器
#define ? ? ? ? REG_AMR2 ? ? ? ? ?SJA_BaseAdr+0x16 ? ? ? //驗收屏蔽寄存器
#define ? ? ? ? REG_AMR3 ? ? ? ? ?SJA_BaseAdr+0x17 ? ? ? //驗收屏蔽寄存器


// 發送緩沖區寄存器 ?(發送緩沖區長13字節,在CAN地址是16-28即0x10-0x1c)
#define ? ? ? ? REG_TXBuffer1 ? ? SJA_BaseAdr+0x10 ? ? ? ? //發送緩沖區1
#define ? ? ? ? REG_TXBuffer2 ? ? SJA_BaseAdr+0x11 ? ? ? ? //發送緩沖區2
#define ? ? ? ? REG_TXBuffer3 ? ? SJA_BaseAdr+0x12 ? ? ? ? //發送緩沖區3
#define ? ? ? ? REG_TXBuffer4 ? ? SJA_BaseAdr+0x13 ? ? ? ? //發送緩沖區4
#define ? ? ? ? REG_TXBuffer5 ? ? SJA_BaseAdr+0x14 ? ? ? ? //發送緩沖區5
#define ? ? ? ? REG_TXBuffer6 ? ? SJA_BaseAdr+0x15 ? ? ? ? //發送緩沖區6
#define ? ? ? ? REG_TXBuffer7 ? ? SJA_BaseAdr+0x16 ? ? ? ? //發送緩沖區7
#define ? ? ? ? REG_TXBuffer8 ? ? SJA_BaseAdr+0x17 ? ? ? ? //發送緩沖區8
#define ? ? ? ? REG_TXBuffer9 ? ? SJA_BaseAdr+0x18 ? ? ? ? //發送緩沖區9
#define ? ? ? ? REG_TXBuffer10 ? ?SJA_BaseAdr+0x19 ? ? ? ? //發送緩沖區10
#define ? ? ? ? REG_TXBuffer11 ? ?SJA_BaseAdr+0x1A ? ? ? ? //發送緩沖區11
#define ? ? ? ? REG_TXBuffer12 ? ?SJA_BaseAdr+0x1B ? ? ? ? //發送緩沖區12
#define ? ? ? ? REG_TXBuffer13 ? ?SJA_BaseAdr+0x1C ? ? ? ? //發送緩沖區13


// 接收緩沖區寄存器 ? (接收緩沖區長13字節,在CAN地址是16-28即0x10-0x1c)
#define ? ? ? ? REG_RXBuffer1 ? ? SJA_BaseAdr+0x10 ? ? ? //接收緩沖區1
#define ? ? ? ? REG_RXBuffer2 ? ? SJA_BaseAdr+0x11 ? ? ? //接收緩沖區2
#define ? ? ? ? REG_RXBuffer3 ? ? SJA_BaseAdr+0x12 ? ? ? ?//接收緩沖區3
#define ? ? ? ? REG_RXBuffer4 ? ? SJA_BaseAdr+0x13 ? ? ? //接收緩沖區4
#define ? ? ? ? REG_RXBuffer5 ? ? SJA_BaseAdr+0x14 ? ? ? ?//接收緩沖區5
#define ? ? ? ? REG_RXBuffer6 ? ? SJA_BaseAdr+0x15 ? ? ? ? //接收緩沖區6
#define ? ? ? ? REG_RXBuffer7 ? ? SJA_BaseAdr+0x16 ? ? ? ? //接收緩沖區7
#define ? ? ? ? REG_RXBuffer8 ? ? SJA_BaseAdr+0x17 ? ? ? ? //接收緩沖區8
#define ? ? ? ? REG_RXBuffer9 ? ? SJA_BaseAdr+0x18 ? ? ? ? //接收緩沖區9
#define ? ? ? ? REG_RXBuffer10 ? ?SJA_BaseAdr+0x19 ? ? ? ?//接收緩沖區10
#define ? ? ? ? REG_RXBuffer11 ? ?SJA_BaseAdr+0x1A ? ? ? ?//接收緩沖區11
#define ? ? ? ? REG_RXBuffer12 ? ?SJA_BaseAdr+0x1B ? ? ? ?//接收緩沖區12
#define ? ? ? ? REG_RXBuffer13 ? ?SJA_BaseAdr+0x1C ? ? ? ?//接收緩沖區13


#define ? ? ? ? REG_RXCOUNT ? ? ? SJA_BaseAdr+0x1D ? ? ? ? //RX報文計數器 ?只讀 RX信息計數器(RMC)反應RXFIFO中可用的信息數目
#define ? ? ? ? REG_RBSA ? ? ? ? ?SJA_BaseAdr+0x1E ? ? ? ? //RX緩沖器起始地址寄存器(RBSA)可讀寫 復位模式只寫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//反映了當前可用來存儲位于接收緩沖器窗口中的信息的內部RAM地址
#define ? ? ? ? REG_CDR ? ? ? ? ? SJA_BaseAdr+0x1F ? ? ? ? //時鐘分頻寄存器
//時鐘分頻寄存器為微控制器控制CLKOUT 的頻率以及屏蔽CLKOUT 引腳而且它還控制著TX1上
//的專用接收中斷脈沖接收比較通道和BasicCAN 模式與PeliCAN 模式的選擇


/*
功能說明: ? CAN控制器SJA1000通訊波特率.SJA1000的晶振為必須為16MHZ*/


#define ? ? ? ? BTR0_Rate_20k ? ? ?0x53 ? ? ? ? ?//20KBPS的預設值
#define ? ? ? ? BTR1_Rate_20k ? ? ?0x2F ? ? ? ? ?//20KBPS的預設值
#define ? ? ? ? BTR0_Rate_40k ? ? ?0x87 ? ? ? ? ?//40KBPS的預設值
#define ? ? ? ? BTR1_Rate_40k ? ? ?0xFF ? ? ? ? ?//40KBPS的預設值
#define ? ? ? ? BTR0_Rate_50k ? ? ?0x47 ? ? ? ? ?//50KBPS的預設值
#define ? ? ? ? BTR1_Rate_50k ? ? ?0x2F ? ? ? ? ?//50KBPS的預設值
#define ? ? ? ? BTR0_Rate_80k ? ? ?0x83 ? ? ? ? ?//80KBPS的預設值
#define ? ? ? ? BTR1_Rate_80k ? ? ?0xFF ? ? ? ? ?//80KBPS的預設值
#define ? ? ? ? BTR0_Rate_100k ? ? 0x43 ? ? ? ? ?//100KBPS的預設值
#define ? ? ? ? BTR1_Rate_100k ? ? 0x2f ? ? ? ? ?//100KBPS的預設值
#define ? ? ? ? BTR0_Rate_125k ? ? 0x03 ? ? ? ? ?//125KBPS的預設值
#define ? ? ? ? BTR1_Rate_125k ? ? 0x1c ? ? ? ? ?//125KBPS的預設值
#define ? ? ? ? BTR0_Rate_200k ? ? 0x81 ? ? ? ? ?//200KBPS的預設值
#define ? ? ? ? BTR1_Rate_200k ? ? 0xFA ? ? ? ? ?//200KBPS的預設值
#define ? ? ? ? BTR0_Rate_250k ? ? 0x01 ? ? ? ? ?//250KBPS的預設值
#define ? ? ? ? BTR1_Rate_250k ? ? 0x1c ? ? ? ? ?//250KBPS的預設值
#define ? ? ? ? BTR0_Rate_400k ? ? 0x43 ? ? ? ? ?//400KBPS的預設值
#define ? ? ? ? BTR1_Rate_400k ? ? 0x11 ? ? ? ? ?//400KBPS的預設值
#define ? ? ? ? BTR0_Rate_500k ? ? 0x81 ? ? ? ? ?//500KBPS的預設值
#define ? ? ? ? BTR1_Rate_500k ? ? 0x23 ? ? ? ? ?//500KBPS的預設值
#define ? ? ? ? BTR0_Rate_666k ? ? 0x41 ? ? ? ? ?//666KBPS的預設值
#define ? ? ? ? BTR1_Rate_666k ? ? 0x12 ? ? ? ? ?//666KBPS的預設值
#define ? ? ? ? BTR0_Rate_800k ? ? 0x41 ? ? ? ? ?//800KBPS的預設值
#define ? ? ? ? BTR1_Rate_800k ? ? 0x11 ? ? ? ? ?//800KBPS的預設值
#define ? ? ? ? BTR0_Rate_1000k ? ?0x40 ? ? ? ? ?//1000KBPS的預設值
#define ? ? ? ? BTR1_Rate_1000k ? ?0x23 ? ? ? ? ?//1000KBPS的預設值
//BPS
//功能說明: ? CAN控制器SJA1000通訊波特率.SJA1000的晶振為必須為24MHZ*/
#define ? ? ? ? BTR0_Rate_10k ? ? ?0xEF ? ? ? ? ?//20KBPS的預設值
#define ? ? ? ? BTR1_Rate_10k ? ? ?0xFF ? ? ? ? ?//20KBPS的預設值


#define ? ? ? ? ByteRate_10k ? ? ? 10
#define ? ? ? ? ByteRate_20k ? ? ? 20
#define ? ? ? ? ByteRate_40k ? ? ? 40
#define ? ? ? ? ByteRate_50k ? ? ? 50
#define ? ? ? ? ByteRate_80k ? ? ? 80
#define ? ? ? ? ByteRate_100k ? ? ?100
#define ? ? ? ? ByteRate_125k ? ? ?125
#define ? ? ? ? ByteRate_200k ? ? ?200
#define ? ? ? ? ByteRate_250k ? ? ?250
#define ? ? ? ? ByteRate_400k ? ? ?400
#define ? ? ? ? ByteRate_500k ? ? ?500
#define ? ? ? ? ByteRate_800k ? ? ?800
#define ? ? ? ? ByteRate_1000k ? ? 1000


//命令字
#define ? ?TR_CMD ? ? 0X01 ?//CMR.0發送請求位
#define ? ?AT_CMD ? ? 0X02 ?//CMR.1中止發送位
#define ? ?RRB_CMD ? ?0X04 ?//CMR.2釋放接收緩沖器
#define ? ?COS_CMD ? ?0X08 ?//CMR.3清除數據溢出
#define ? ?SRR_CMD ? ?0X10 ?//CMR.4自接收模式
#define ? ?GTS_CMD ? ?0X10 ?//????CMR.5.CMR7保留位


//錯誤字
#define CAN_INTERFACE_OK ? ? ?0 ? ? //CAN總線接口OK
#define CAN_BUS_OK ? ? ? ? ? ?0 ? ? //CAN總線OK
#define CAN_INTERFACE_ERR ? ? 0XFF ?//CAN總線接口錯誤
#define CAN_ENTERSET_ERR ? ? ?0XFE ?//CAN總線初始化錯誤
#define CAN_QUITSET_ERR ? ? ? 0XFD ?//CAN總線退出復位模式錯誤
#define CAN_INITOBJECT_ERR ? ?0XFC ?//CAN總線初始化對象錯誤
#define CAN_INITBTR_ERR ? ? ? 0XFB ?//?
#define CAN_INITOUTCTL_ERR ? ?0XFA ?//??
#define CAN_INTCLKDIV_ERR ? ? 0XF9 ?//??
#define CAN_BUS_ERR ? ? ? ? ? 0XF8 ?//CAN總線錯誤


#define ID28_21 ? ?0X0A;
#define ID20_13 ? ?0X4A;
#define ID12_5 ? ? 0X6B;
#define ID4_0 ? ? ?0XE8; //低三位不影響設為0
//定義擴展模式數據幀ID
//Basic CAN模式標準幀格式 :幀信息,TX識別碼1-2,TX數據字節1-8
//Pelican模式擴展幀格式 ? :幀信息,TX識別碼1-4,TX數據字節1-8

#endif
?

2.根據時序圖進行寄存器讀寫操作,因為我采用的是Intel模式,這里只給出Intel的時序圖。

貼入部分代碼,以下SJA1000_WR_Time_1是通過控制CS,ALE,RD,WR根據SJA1000的datasheet給出的時序圖進行地址鎖存以及數據讀寫,這將應用在之后的SJA1000初始化時各寄存器的讀寫。

SJA1000_Read_1則是單純的寄存器數據讀。

(注:這兩個程序只是SJA1000中1片的讀寫,因為各片CS,ALE連接至PL端的引腳不同,所以每個都需要重新編寫)

?? ?int SJA1000_WR_Time_1(unsigned int Address,unsigned int Data)
{
/* Set the direction for all signals as inputs except the LED output */
//WRITE
?? ?int s;
?? ?XGpio_SetDataDirection(&Gpio1, CAN_CHANNEL1, 0x8E01);//all output except CAN_INT-input
?? ?XGpio_SetDataDirection(&Gpio2, CAN_CHANNEL2, 0x00);//all output AD0~AD7
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFF);//Test_Reg,ALE-1,WR-1,RD-1,CS-1,INT-1
?? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, Address);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFD);//Test_Reg,ALE-0,WR-1,RD-1,CS-1,INT-1,KEEP-ADDRESS
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FDD);//Test_Reg,ALE-0,WR-1,RD-1,CS-0,INT-1,KEEP-ADDRESS
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FD5);//Test_Reg,ALE-0,WR-0,RD-1,CS-0,ADDRESS-FREE
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FD5);//Test_Reg,SET-DATA,ALE-0,WR-0,RD-1,CS-0
?? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, Data);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FDD);//Test_Reg,SET-DATA,ALE-0,WR-1,RD-1,CS-0
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x99);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFD);//Test_Reg,SET-DATA,ALE-0,WR-1,RD-1,CS-1
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x99);
?? ?Delay_ms(1000);
//READ
?? ?//CHANNEL1:0:CAN1_INT,1:CAN1_ALE,2:CAN_RST,3:CAN_WR,4:CAN_RD,5:CAN1_CS,6:CAN2_CS,7:CAN3_CS,8:CAN4_CS
?? ?//CHANNEL2:0~7:AD0~AD7
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFF);//Test_Reg,ALE-1,WR-1,RD-1,CS-1,SET-ADDRESS
?? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, Address);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFD);//Test_Reg,ALE-0,WR-1,RD-1,CS-1,KEEP-ADDRESS
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FDD);//Test_Reg,ALE-0,WR-1,RD-1,CS-0,KEEP-ADDRESS
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FCD);//Test_Reg,ALE-0,WR-1,RD-0,CS-0,ADDRESS-FREE
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_SetDataDirection(&Gpio2, CAN_CHANNEL2, 0xFF);
?? ?Delay_ms(1000);
?? ?s = XGpio_DiscreteRead(&Gpio2, CAN_CHANNEL2);//Test_Reg,READ_DATA,ALE-0,WR-1,RD-0,CS-0
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FDD);//Test_Reg,ALE-0,WR-1,RD-1,CS-0?
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFD);//Test_Reg,ALE-0,WR-1,RD-1,CS-1
?? ?if(s == Data) return 1;
?? ?else ?return 0;
}
///
?? ?int SJA1000_Read_1(unsigned int Address)
{
?? ?int s;
?? ?XGpio_SetDataDirection(&Gpio1, CAN_CHANNEL1, 0x8E01);//all output except CAN_INT-input
?? ?XGpio_SetDataDirection(&Gpio2, CAN_CHANNEL2, 0x00);//all output AD0~AD7
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFF);//Test_Reg,ALE-1,WR-1,RD-1,CS-1,SET-ADDRESS
?? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, Address);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFD);//Test_Reg,ALE-0,WR-1,RD-1,CS-1,KEEP-ADDRESS
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FDD);//Test_Reg,ALE-0,WR-1,RD-1,CS-0,KEEP-ADDRESS
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FCD);//Test_Reg,ALE-0,WR-1,RD-0,CS-0,ADDRESS-FREE
//?? ??? ?XGpio_DiscreteWrite(&Gpio2, CAN_CHANNEL2, 0x09);
?? ?Delay_ms(1000);
?? ?XGpio_SetDataDirection(&Gpio2, CAN_CHANNEL2, 0xFF);
?? ?Delay_ms(1000);
?? ?s = XGpio_DiscreteRead(&Gpio2, CAN_CHANNEL2);//Test_Reg,READ_DATA,ALE-0,WR-1,RD-0,CS-0
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FDD);//Test_Reg,ALE-0,WR-1,RD-1,CS-0?
?? ?Delay_ms(1000);
?? ?XGpio_DiscreteWrite(&Gpio1, CAN_CHANNEL1, 0x0FFD);//Test_Reg,ALE-0,WR-1,RD-1,CS-1
?? ?return s;

}

3.SJA1000的初始化:這里給出的是一片SJA1000的初始化操作(這些是包含在主函數內部的,AXI GPIO的初始化等操作不再贅述了,看SDK內部例程即可),具體各寄存器內部配置請參考SJA1000的datasheet,大致就是要先進行測試寄存器讀寫判斷通道是否正常,時序是否有問題,之后進入復位模式,配置波特率,ACR,AMR,工作模式等,最后退出復位模式。

?? ?while(c==0){
?? ??? ??? ?if(SJA1000_WR_Time_4(REG_TEST,0XAA)==1)//sja_interface_test();
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Interface is OK!\r\n");
?? ??? ??? ??? ??? ?a = 1;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Interface error!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_CONTROL,0x09)==1 && a==1) //sja_init();
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Enter RST Mode is OK!\r\n");
?? ??? ??? ??? ??? ?b = SJA1000_Read_4(REG_CONTROL);//0X09
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("RST Mode fail\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_TEST,0xAA)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Test PASS!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Test Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_CDR,0xC8)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Clock Set is ok!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Clock Set Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_ACR0,0x0A)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("ACR0 SET 0X0A!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_ACR1,0x4A)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("ACR1 SET 0X4A!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_ACR2,0x6B)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("ACR2 SET 0X6B!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_ACR3,0x78)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("ACR3 SET 0X78!\r\n");

?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_AMR0,0x00)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("AMR0 SET MODE 0X00!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_AMR1,0x00)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("AMR1 SET MODE 0X4A!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_AMR2,0x00)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("AMR2 SET MODE 0X6B!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_AMR3,0x03)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("AMR3 SET MODE 0X78!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_BTR0,BTR0_Rate_1000k)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("BANDRATE1 SET IS OK!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_BTR1,BTR1_Rate_1000k)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("BANDRATE2 SET IS OK!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_INTENABLE,0xFF)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Interrupt SET IS OK!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_OCR,0x1A)==1 && a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("OUTPUT MODE SET!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("OUTPUT MODE Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(SJA1000_WR_Time_4(REG_CONTROL,0x08) == 1 && a==1)//?
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("RST MODE IS QUIT!\r\n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?else
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("RST MODE QUIT Fail!\r\n");
?? ??? ??? ??? ??? ?a = 0;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?if(a==1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?printf("SJA1000_4 Init is OK\r\n");
?? ??? ??? ??? ??? ?c = 1;
?? ??? ??? ??? ?}
?? ?}

4.通過中斷信號進行數據讀取:

這里只是簡單的數據讀取,當SJA1000內部RXBuffer接收到數據時,會產生INT引腳拉低的情況,我的初步思考是通過讀取引腳電平,進行相應的數據讀取。

之前也考慮過中斷觸發的方式,但看了例程和網上PL-PS點燈的程序后,感覺也是進行中斷使能讀取的操作,不知道有沒有大佬給講講為什么要采用中斷方式,我這種直接讀取電平方式會有什么問題。

?? ?while(b)
?? ?{//4093 2045 1111 1111 1101 ? 0111 1111 1101
?? ? ? ?Which_SJA1000 = XGpio_DiscreteRead(&Gpio1, CAN_CHANNEL1);
?? ? ? ??? ?if((Which_SJA1000 & 0x0800) == 0)
?? ? ? ??? ?{
?? ? ? ??? ??? ?data1 = SJA1000_Read_4(REG_RXBuffer1);
?? ? ? ??? ?}
?? ? ? ??? ?else if((Which_SJA1000 & 0x0400) == 0)
?? ? ? ??? ?{
?? ? ? ??? ??? ?data2 = SJA1000_Read_3(REG_RXBuffer1);
?? ? ? ??? ?}
?? ? ? ??? ?else if((Which_SJA1000 & 0x0200) == 0)
?? ? ? ??? ?{
?? ? ? ??? ??? ?data3 = SJA1000_Read_2(REG_RXBuffer1);
?? ? ? ??? ?}
?? ? ? ??? ?else if((Which_SJA1000 & 0x0001) == 0)
?? ? ? ??? ?{
?? ? ? ??? ??? ?data4 = SJA1000_Read_1(REG_RXBuffer1);
?? ? ? ??? ?}


?? ?}
}

以上就是SJA1000的調試過程,歷經兩個星期調到了現在這個程度,感覺自己還是有點云里霧里的,有一個重點就是在起初的管腳約束時,引腳一定要分配正確!!!我就是因為xdc問題,導致開始無法正確讀寫寄存器數據,搞了很久最后發現是XDC的問題。大家引以為戒,如果有任何建議和問題,請告訴我,我們共同進步。

總結

以上是生活随笔為你收集整理的SJA1000+XC7Z030,SJA1000初始化及PS数据读取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91丝袜美腿 | 成人免费毛片aaaaaa片 | 亚洲aⅴ在线| 日韩免费区| 国产成人精品电影久久久 | 久操视频在线 | 日韩videos高潮hd| 黄色的网站免费看 | 97超碰在线久草超碰在线观看 | 久热免费 | 欧美精品久久久久久久久久白贞 | 丁香婷婷在线观看 | 成人国产精品电影 | 婷婷综合成人 | 在线观看中文字幕亚洲 | 国产精品美女999 | 98涩涩国产露脸精品国产网 | 国产精品av电影 | 国产一区二区三区四区大秀 | 久久久av免费 | 97视频精品| 精品字幕 | 视频在线观看一区 | 免费毛片一区二区三区久久久 | 国产午夜精品一区二区三区四区 | 国产99久久九九精品 | 狠狠色丁香| 国产成人一区二区在线观看 | 欧美日韩在线观看视频 | 特级黄色一级 | 亚洲精品国产欧美在线观看 | 日韩精品在线播放 | av中文在线影视 | 波多野结衣亚洲一区二区 | 狠狠的操狠狠的干 | 国产精品国产精品 | 国产精品18久久久久久久 | 在线蜜桃视频 | 久久九九国产视频 | 黄色小说视频网站 | 国产成人综合图片 | 婷婷色九月 | 免费看色的网站 | 久久系列 | 99久久er热在这里只有精品66 | www.久久久.com | 亚洲欧美偷拍另类 | 91亚洲精品久久久蜜桃网站 | 国产精品资源网 | 中文字幕国内精品 | 久久精品中文字幕一区二区三区 | 午夜影院一级片 | 国产偷国产偷亚洲清高 | 成人午夜电影在线播放 | 中文字幕色在线视频 | www.久久久.com | 97精品超碰一区二区三区 | 久久免费视频在线观看6 | 91精品在线免费观看视频 | 亚洲欧美激情精品一区二区 | 国产在线美女 | 久久在视频 | 国产网红在线观看 | 国产福利电影网址 | 五月婷婷丁香色 | www.成人sex| 天天干天天在线 | 色噜噜狠狠色综合中国 | 在线播放 日韩专区 | 国产精品系列在线播放 | 国产1级毛片 | 午夜精品一区二区三区四区 | 三级av黄色 | 国产精品视频最多的网站 | 国产二区视频在线观看 | 国产高清99| 国产精品久久久久久久久久东京 | 91麻豆传媒 | 乱男乱女www7788 | 欧美在线观看视频免费 | 国产手机av | 久久成人精品视频 | 中文字幕日本特黄aa毛片 | 91在线www| 免费看片成年人 | 九九久久精品视频 | 99久久精品国产一区二区成人 | 国产视频99 | 黄色在线观看免费网站 | 欧美激情第一区 | 一本一本久久a久久精品综合小说 | 天天爽天天碰狠狠添 | 奇米影视四色8888 | 国产亚洲欧美精品久久久久久 | 日韩在线精品视频 | 五月婷婷综合在线观看 | 国产在线观看免费 | 国产精品久久久久久久毛片 | 视频 天天草 | 亚洲视频456| 人人澡人人爱 | 国产一二三四在线观看视频 | 国产精品免费观看在线 | 911久久香蕉国产线看观看 | 久久久久久久久久福利 | 欧美日韩激情视频8区 | 国产中文字幕国产 | 亚洲91精品在线观看 | 天天操伊人 | 五月开心综合 | 国产美女精品 | 中文字幕丰满人伦在线 | 国产欧美日韩一区 | 麻豆视频免费在线播放 | 久久99操 | 国产成人精品亚洲日本在线观看 | 久久久久麻豆 | 成人毛片一区二区三区 | 黄色三级视频片 | 在线视频日韩精品 | 国产精品成人久久久久 | 玖玖视频免费在线 | 久久久久国产一区二区 | 日韩在线观看影院 | 日韩精品第1页 | 欧美激情综合色 | 成人在线播放网站 | 玖玖视频精品 | 国产精品久久久久久五月尺 | 国产在线国偷精品产拍免费yy | 日韩欧美高清免费 | 日韩大片在线免费观看 | 九九综合九九综合 | 亚洲爱av| 国产96在线观看 | 久久综合免费视频 | 青青草视频精品 | 中文字幕国产在线 | av解说在线 | 国产成人久久久77777 | 超碰97公开 | 日本动漫做毛片一区二区 | 91精品国自产在线偷拍蜜桃 | 一个色综合网站 | 日韩电影一区二区三区在线观看 | 久艹视频在线观看 | 欧美日韩在线视频观看 | 成年人看片| 亚洲视频免费视频 | 国产精品久久久久久久久大全 | 亚洲精品国产精品国自产 | 国产日韩视频在线播放 | 成片免费观看视频大全 | 欧美黄色特级片 | 精品亚洲男同gayvideo网站 | 深夜成人av | 99欧美精品 | 亚洲天堂精品视频 | 91综合在线 | 日韩深夜在线观看 | 国产一级视屏 | 国产成人三级三级三级97 | 99国产情侣在线播放 | 欧美一二三区在线播放 | 国产亚洲精品精品精品 | 九色91在线 | 日韩特级毛片 | 亚洲视频 视频在线 | 久久九九影视网 | 91亚洲精品久久久蜜桃 | 日韩电影中文字幕在线 | 91在线观看黄 | 最新中文字幕在线播放 | 国产精品久久久久久久久久尿 | 中文字幕999 | 狠狠操.com | 黄色影院在线免费观看 | 精品久久久久久久久中文字幕 | 国产一区在线播放 | 天天操天天操天天操天天操天天操天天操 | 久久在线 | www.黄色在线 | 中文字幕在线观看不卡 | 狠狠狠的干 | 亚洲综合在线一区二区三区 | 午夜视频不卡 | 在线观看亚洲成人 | 日韩国产欧美在线播放 | 伊人五月天婷婷 | 精品爱爱 | 一区二区三区高清在线 | 亚洲天堂视频在线 | av免费线看 | 亚洲欧洲日韩 | 三级av免费| 天堂av观看| 免费看久久久 | 午夜影视剧场 | 久久国产精品99精国产 | 国产精品久久99综合免费观看尤物 | 黄色福利视频网站 | 国产成人99av超碰超爽 | 久久在现| 久久精品人人做人人综合老师 | 91精品久久久久久综合乱菊 | 国产精品麻豆免费版 | 成人app在线免费观看 | 欧美精品久久人人躁人人爽 | 伊人久久五月天 | 婷婷亚洲激情 | 亚洲综合色丁香婷婷六月图片 | 国产打女人屁股调教97 | av中文字幕不卡 | 亚洲日本欧美在线 | 97成人在线观看视频 | 国产日韩精品在线 | 91精品国产乱码在线观看 | 久久亚洲视频 | 天天综合网 天天综合色 | 91在线影院| 久久毛片网 | 九九九九九国产 | 午夜视频福利 | 91精品视频免费看 | 日本少妇高清做爰视频 | 免费在线国产 | 亚洲 中文 在线 精品 | 四虎影视精品永久在线观看 | 国产精品久久久久影院 | 人人爽夜夜爽 | 色综合天天干 | 久久热亚洲 | 久久伦理网 | 中文字幕久久久精品 | 亚洲精品影院在线观看 | 99视频| 99在线免费视频观看 | a色视频 | 91免费高清视频 | 日日日操 | 日韩一区二区三区免费电影 | 美女视频黄是免费的 | 国产精品黑丝在线观看 | 日韩欧美在线第一页 | av日韩在线网站 | 日韩女同av | 免费看的黄色网 | 国产精品亚洲片夜色在线 | 成片免费观看视频 | 亚洲午夜大片 | 日本激情动作片免费看 | 99精品国产福利在线观看免费 | 日韩在线观看视频网站 | 欧美日韩视频精品 | 91精品麻豆 | 亚洲精品国偷拍自产在线观看蜜桃 | 91在线网址 | 黄色www在线观看 | 少妇按摩av | 日韩xxxx视频 | 美女国内精品自产拍在线播放 | 99国产一区二区三精品乱码 | 久久一视频 | 99热在线观看免费 | 国产精品爽爽久久久久久蜜臀 | 精品久久久久久久久久久久 | 久草免费福利在线观看 | 大胆欧美gogo免费视频一二区 | 国产区在线视频 | 亚洲欧美日本一区二区三区 | 91成品人影院 | 婷婷综合成人 | 天天操天 | 91av手机在线观看 | 国产精品免费人成网站 | 亚洲高清在线观看视频 | 色com| 在线精品视频在线观看高清 | 国产精品日韩在线观看 | 久草在线视频国产 | 国产美女黄网站免费 | 色午夜影院 | 欧美日韩性 | 蜜桃av久久久亚洲精品 | 国产在线999 | 麻豆视频在线看 | 天天草天天 | 久香蕉| 国产真实精品久久二三区 | 在线观看免费高清视频大全追剧 | 日本三级中文字幕在线观看 | 91完整视频 | 午夜123 | 久久精品99国产精品 | 国产精品美女视频网站 | 欧美日韩高清在线一区 | 国产高清99 | 国产在线精品福利 | 亚洲欧洲精品视频 | 怡红院av| 特黄特色特刺激视频免费播放 | www.伊人网 | 亚洲综合网 | 免费日韩 精品中文字幕视频在线 | 日韩av中文在线 | 永久免费的啪啪网站免费观看浪潮 | 国产无遮挡又黄又爽在线观看 | 天堂视频中文在线 | 欧美日韩国产在线观看 | 在线国产99 | www.天天成人国产电影 | 亚洲精品视频中文字幕 | 国产成人三级在线播放 | 日日夜夜免费精品视频 | 美女久久久久久久久久久 | av大片免费看 | 涩涩伊人 | 久久久午夜精品理论片中文字幕 | aaa日本高清在线播放免费观看 | 亚洲自拍自偷 | 精品免费在线视频 | 可以免费看av | 国产精品久久久久久久久大全 | 欧美黑人猛交 | 日韩成人av在线 | 婷婷六月在线 | 丁香婷婷激情 | 日本论理电影 | 蜜臀一区二区三区精品免费视频 | 日韩三级在线 | 日韩簧片在线观看 | 日韩理论视频 | 免费日韩 | 免费日韩一级片 | 精品亚洲欧美一区 | 国产精品黑丝在线观看 | 色在线高清 | 国产精品视频永久免费播放 | 成人免费在线看片 | 99热都是精品 | 日韩理论影院 | 国产精品美女久久久久久2018 | 亚洲精品视频在线免费播放 | 99久久er热在这里只有精品66 | 91精品国产乱码久久桃 | 久久久999免费视频 日韩网站在线 | 日本公乱妇视频 | 亚洲视频精品 | 最新国产一区二区三区 | 日韩中字在线观看 | 久草a在线| 久久久久久久久久免费视频 | 91av在线免费播放 | 亚洲三级av | 91大片网站| 激情久久久久久久久久久久久久久久 | 999久久国产精品免费观看网站 | www.亚洲精品视频 | 国产精品久久久久久久久久久久午夜片 | 欧美日韩色婷婷 | 久久论理 | 九九99靖品 | 久久久久日本精品一区二区三区 | 深夜免费福利视频 | 日日干日日| 免费色视频网站 | 久久成人免费 | 激情av综合| 久草网在线视频 | 国产精品美女免费 | 天天综合区 | 免费观看视频的网站 | 人人干人人添 | 国产精品嫩草69影院 | 免费黄色一区 | 一区二区三区四区免费视频 | 日韩欧美aaa | 久久久久看片 | 一区二区三区高清在线观看 | 综合色伊人 | 国产中文字幕在线观看 | 综合在线色| 日韩大片免费观看 | 天天干天天干 | 免费高清无人区完整版 | 91成人精品国产刺激国语对白 | 成人在线视频免费看 | 狠狠狠色丁香婷婷综合久久五月 | 9ⅰ精品久久久久久久久中文字幕 | 911精品美国片911久久久 | 欧美日韩国产亚洲乱码字幕 | 九九热在线观看 | 又黄又爽的免费高潮视频 | 三级在线播放视频 | 九九热在线精品视频 | 亚洲精品视频二区 | 亚洲成人黄色在线 | 狠狠色噜噜狠狠狠狠2022 | 成人一区二区三区在线观看 | 一区二区三区在线观看 | 亚洲成人一二三 | 免费在线激情电影 | 天堂av在线免费观看 | 国产午夜精品福利视频 | 久热色超碰 | 人人看看人人 | 国产精品av一区二区 | 久久综合免费 | 99久久99热这里只有精品 | 亚洲视频专区在线 | 久久97精品 | 欧美日韩精品影院 | 日韩av视屏 | 超碰97人人爱 | 亚洲一区 av| 亚洲国产剧情av | 日本精品免费看 | 91九色蝌蚪国产 | 国产成人久久精品一区二区三区 | 国产精品激情在线观看 | 久久人人干| 色在线中文字幕 | 成人影视免费看 | 五月天网页| 亚洲国产69| 免费看的毛片 | 国产涩涩在线观看 | 久久久国产一区二区三区四区小说 | 久久伊人综合 | 日日天天狠狠 | 亚洲精品在线观看免费 | 高清免费在线视频 | 在线免费观看视频一区 | 黄色免费大片 | 日韩精品在线免费观看 | 少妇搡bbbb搡bbb搡aa | 午夜国产一区二区三区四区 | 91香蕉视频好色先生 | 日韩高清一区 | 欧美日韩一区二区在线 | 九九免费在线观看 | 亚洲永久在线 | 国产精品精品 | 免费看国产一级片 | 91av资源网 | 成人h视频| 欧美大香线蕉线伊人久久 | 色欧美88888久久久久久影院 | 日韩美在线观看 | 色综合久久88色综合天天人守婷 | 天天干夜夜夜 | 91在线小视频 | 成年人看片网站 | 欧洲色吧| 美女黄视频免费看 | 91视视频在线直接观看在线看网页在线看 | 91视频在线 | 99r在线播放 | 日韩精品你懂的 | 婷婷亚洲最大 | 99久久精品国产欧美主题曲 | 久久99久久99精品 | 黄色小网站在线 | 欧美a视频在线观看 | 天天干,天天射,天天操,天天摸 | 国产性天天综合网 | 欧美日韩视频网站 | 97理论电影 | 人人爽久久久噜噜噜电影 | 亚洲在线国产 | 深夜免费福利视频 | 国产成人精品一区二区 | 黄毛片在线观看 | 欧美久久精品 | 免费网站黄色 | 国产成人免费高清 | 丁香av在线| 伊人五月在线 | 日韩精品免费一区二区在线观看 | 精品国产综合区久久久久久 | 欧美激情综合五月色丁香 | 91片黄在线观看动漫 | 99精品视频在线观看免费 | 亚洲va男人天堂 | 天天干天天摸 | 99精品一区 | 天天天色综合a | 久久久免费电影 | 久久成人精品视频 | 精品国产一区二区三区免费 | 狠狠综合久久 | 免费看黄色大全 | 欧洲高潮三级做爰 | 97网在线观看 | 91视频午夜 | 在线观看视频色 | 欧美精品一区二区免费 | 在线观看一区二区视频 | 伊人中文在线 | 国产免费人人看 | 一级片视频免费观看 | 国产成人一区二区三区在线观看 | 久久久精品电影 | 国产视频久 | 久久视频国产精品免费视频在线 | 91在线中字 | 免费日韩 精品中文字幕视频在线 | 黄色免费国产 | 国产a国产 | 三级黄在线| 婷婷久月| 99r在线视频| 国产高清不卡在线 | 国产一卡二卡四卡国 | 婷婷夜夜 | 亚洲一区 av | 午夜在线资源 | 在线免费观看视频你懂的 | 97视频在线看 | 亚洲欧美国产视频 | 欧美天堂久久 | 婷婷免费在线视频 | 国产在线看一区 | 亚洲人天堂 | 97视频中文字幕 | 日本性xxx | 国产精品午夜久久久久久99热 | 狠狠色丁香九九婷婷综合五月 | 国产一二三区在线观看 | 精品久久一区二区 | 日日综合| 国产你懂的在线 | 亚洲永久国产精品 | 欧美一区二区在线免费看 | 91视频在线自拍 | 超碰资源在线 | 99tvdz@gmail.com| 日韩av在线免费看 | 亚洲自拍偷拍色图 | 久久综合国产伦精品免费 | 国产高清视频色在线www | 国内久久看 | 97电影在线看视频 | 亚洲污视频 | 国产精品免费观看在线 | 亚洲日本一区二区在线 | 久久午夜羞羞影院 | 精品国产乱码久久久久久浪潮 | 国产精品网红福利 | 久久视讯| 国产在线91在线电影 | 久久人人爽爽 | 日韩精品不卡 | 一本色道久久精品 | 国产色久 | 国产成人黄色 | 天天射天| 日韩免费区 | 久久综合狠狠综合 | 国产色在线观看 | 欧美日产在线观看 | 日本在线观看黄色 | 欧美日韩在线看 | 久久久久综合网 | 在线免费观看黄网站 | 久久国产欧美日韩精品 | 99视频精品全国免费 | 国产日韩精品在线 | 四虎永久国产精品 | 中国成人一区 | 三级在线视频播放 | 97免费公开视频 | 色激情在线 | 久久精品国产99国产 | 人人澡视频 | 午夜视频免费在线观看 | 国产在线观看污片 | 91精品1区2区 | 久久99精品国产麻豆宅宅 | 国产精品涩涩屋www在线观看 | 综合久久2023 | 亚洲精品白浆高清久久久久久 | 午夜久久久精品 | 97福利| 99re国产| 日本精品一区二区在线观看 | 国产精品18毛片一区二区 | av成人免费观看 | 欧美精品久久天天躁 | 午夜视频在线观看一区二区三区 | 99免在线观看免费视频高清 | 日韩精品一区二区三区丰满 | 久草视频中文 | 中文字幕中文字幕中文字幕 | 亚洲日本成人 | 日日干av| 成人sm另类专区 | 9999国产精品| 久久 地址| 国产精品成人免费一区久久羞羞 | 午夜精品成人一区二区三区 | 日韩在线网 | 日本久久中文 | 一区二区三区视频 | 97超级碰| 日本视频久久久 | 日韩中文在线播放 | 久久午夜网| 天天操综合网 | 超碰国产人人 | 91麻豆精品国产91久久久久久久久 | 草莓视频在线观看免费观看 | 中文字幕在线乱 | 午夜视频在线网站 | 成人在线观看av | 国产视频亚洲精品 | 国产福利精品一区二区 | 在线观看视频99 | 808电影 | 日韩欧美视频在线播放 | 九九三级毛片 | 日韩在线观看电影 | 国产精品粉嫩 | 四虎www.| 91高清在线看 | 一级黄色片网站 | 色丁香色婷婷 | 亚洲永久精品一区 | 天天操天天爱天天干 | 亚洲综合国产精品 | 天天爽天天爽夜夜爽 | 国产美女网站在线观看 | 久久久精品国产免费观看一区二区 | 婷婷精品国产欧美精品亚洲人人爽 | 日韩精品中文字幕在线不卡尤物 | 日韩精品不卡在线观看 | 99爱在线 | 97视频在线观看网址 | 九九九电影免费看 | 六月丁香在线视频 | 91视频高清完整版 | 国产精品久久视频 | 久久看视频 | 九九在线国产视频 | 色欧美视频 | 99在线精品视频 | 婷婷九月丁香 | 欧美aa一级| 欧美美女一级片 | 中文乱码视频在线观看 | 亚洲国产精品久久久久久 | 成人丝袜| 亚洲手机天堂 | 国产精品一二三 | 五月婷婷中文网 | 啪啪免费视频网站 | 国产精品综合在线观看 | 九九视频这里只有精品 | 999在线精品 | 国产在线观看中文字幕 | 黄污视频网站大全 | 日日夜夜天天久久 | 久久久国产精品一区二区三区 | 日韩在线中文字幕视频 | 激情五月婷婷 | 99re视频在线观看 | 激情视频91 | 国产亚洲一区二区三区 | 又黄又刺激的视频 | 国产精品刺激对白麻豆99 | 欧美一二三区在线播放 | 色欲综合视频天天天 | 天天干天天摸天天操 | 欧美日韩国产一区二区三区在线观看 | 91日韩精品一区 | 国产三级国产精品国产专区50 | 麻豆影视在线观看 | 91精品在线播放 | 91成人精品一区在线播放 | 国产精品在线看 | 亚洲婷婷综合色高清在线 | 韩国av一区二区三区 | 色人久久| 久久1电影院 | a视频免费在线观看 | 看污网站| 久久国产经典视频 | 操高跟美女 | 国产精品久久久久毛片大屁完整版 | 久久国产高清视频 | 韩国一区二区三区视频 | 国产xxxx性hd极品 | 中文字幕在线专区 | 午夜精品久久久99热福利 | 激情视频免费在线观看 | 亚洲综合在线五月天 | 国产精品综合久久久久久 | 色视频成人在线观看免 | 免费在线观看av网站 | 国内小视频| 欧美一区二区三区在线视频观看 | 日日干日日色 | 欧美成人在线网站 | 免费av观看网站 | 永久免费的av电影 | 在线你懂的视频 | 国产打女人屁股调教97 | 午夜精品久久久久久久99 | 韩国视频一区二区三区 | 欧美精品久久人人躁人人爽 | 国产主播大尺度精品福利免费 | 91看片淫黄大片在线播放 | 日韩一区二区久久 | 精品一区精品二区高清 | 99久久婷婷国产综合精品 | 色天堂在线视频 | 国内精品久久久久久久影视简单 | 久久综合成人网 | 波多野结衣视频一区二区三区 | 99久久久久免费精品国产 | 精品久久久久久久久久久久 | 国产视频一区二区在线 | www国产一区 | 国产在线精品一区 | 日韩有码网站 | www.99在线观看 | 夜又临在线观看 | 亚洲国产精品999 | 97视频在线观看视频免费视频 | 欧美日韩午夜爽爽 | 激情av在线资源 | 欧美精品久久久久久久亚洲调教 | 最新av观看 | 国产精品一区二区免费 | 天天射天天舔天天干 | 免费观看xxxx9999片 | 国产一级一片免费播放放 | 久久成人综合视频 | 日韩中文字幕在线观看 | 天天射天天艹 | 久久99国产精品久久99 | 欧美成人h版 | 国产美女在线免费观看 | 亚州精品天堂中文字幕 | 97免费在线观看 | 美女网站视频免费都是黄 | 日韩在线 一区二区 | 综合色站 | 久久久久久久久久久久久9999 | 国产精品视频地址 | 久久国产三级 | 精品国产区 | 日日夜夜狠狠操 | 日本黄色免费在线 | 一级黄色片毛片 | 在线观看国产日韩欧美 | 日韩中文字幕免费看 | 91成人小视频 | av成人在线观看 | 国产精品久久久久久久久搜平片 | 国产中文字幕视频在线观看 | 日本一区二区三区免费看 | 综合在线亚洲 | 国产另类xxxxhd高清 | 国产成人av网站 | 久久久黄色 | 国产va饥渴难耐女保洁员在线观看 | 久草在线在线精品观看 | 国产精品精品视频 | 欧美aaa视频 | 日韩网站一区二区 | 91九色在线观看视频 | 国产在线高清 | 在线免费高清一区二区三区 | 999ZYZ玖玖资源站永久 | 成人国产一区 | 91精品国产91久久久久福利 | 91亚洲狠狠婷婷综合久久久 | 国产99久久久国产精品免费看 | 天天草天天色 | 成人在线小视频 | 天天爱天天操天天爽 | 国产精品永久免费 | 亚洲精品乱码久久久久久按摩 | 亚洲 成人 欧美 | 热久久视久久精品18亚洲精品 | 中文字幕一区二区三区在线播放 | 波多野结衣在线视频免费观看 | 91精品国产综合久久久久久久 | 久久手机免费视频 | 91资源在线视频 | 欧美精品久久久久久久久老牛影院 | 国产成人在线网站 | 在线 影视 一区 | 国产日韩中文字幕在线 | 国产成人综合在线观看 | 国产免费精彩视频 | 亚洲欧洲国产日韩精品 | 久久公开视频 | 久久精品国产免费观看 | 久久美女免费视频 | 99r国产精品| 久久伦理视频 | 亚州国产精品久久久 | 亚洲精品国产成人av在线 | 青青河边草免费直播 | 久久8| 91av视频观看 | 精品国产诱惑 | 国产日韩视频在线 | 国产女做a爱免费视频 | 国产精品一区二区麻豆 | 亚洲欧美日韩在线一区二区 | 成人免费观看网站 | 五月婷婷香蕉 | 亚洲精品免费在线视频 | www.91国产 | 国产99在线免费 | 在线观看亚洲a | 香蕉视频亚洲 | 国产精品麻豆果冻传媒在线播放 | 伊人久久婷婷 | 婷婷色在线资源 | 在线免费观看的av网站 | 日韩va欧美va亚洲va久久 | 91手机视频在线 | 在线免费91| 国产一级免费播放 | 麻豆极品| 91av资源网| 一级a性色生活片久久毛片波多野 | 欧美一级黄大片 | 国产专区视频在线观看 | 天天爱综合 | 免费高清av在线看 | 国产小视频在线播放 | 成人午夜网 | 黄色午夜网站 | 欧美日韩精 | 日本精品中文字幕 | 人人干狠狠干 | 99热只有精品在线观看 | 在线综合 亚洲 欧美在线视频 | av激情五月 | 人人要人人澡人人爽人人dvd | 中文字幕日韩国产 | 在线观看国产成人av片 | 国产精品久久久久久久免费 | 在线直播av | 国产午夜麻豆影院在线观看 | 久久在线| 伊人五月综合 | 国产成人精品久久亚洲高清不卡 | 中文字幕免费一区 | 亚洲精品免费在线视频 | 在线观看 国产 | 最近免费中文视频 | 狠狠狠干 | 麻豆视频免费入口 | 日韩中字在线 | 国产精品一区二区果冻传媒 | 超碰免费久久 | 天天操天天摸天天射 | 视频在线91 | 91福利试看 | 亚洲精品9| 99久久精品国产网站 | 日日爱视频 | 五月天婷婷在线播放 | 日本久久久久久久久久久 | 成人在线电影观看 | 九色在线视频 | 婷婷久久久 | 欧美一区二区三区激情视频 | 久久伊99综合婷婷久久伊 | 免费成人结看片 | 国产视频一区二区在线观看 | 成年人在线免费看片 | 99九九99九九九视频精品 | 日韩精品在线播放 | 亚洲黄色在线播放 | 欧美日韩二区在线 | 免费福利视频网 | 九九免费精品视频在线观看 | 欧美一进一出抽搐大尺度视频 | 免费黄色在线网址 | 国产亚洲精品综合一区91 | 91精品国产自产在线观看永久 | 黄色国产精品 | 久久久精品二区 | 久久黄色免费观看 | 国产成人精品久久亚洲高清不卡 | 视频一区二区国产 | 日本久久免费视频 | 国产黄色资源 | 欧美一区二区三区四区夜夜大片 | 成人黄色小说在线观看 | 国产做a爱一级久久 | 色噜噜日韩精品欧美一区二区 | 国产精品毛片久久久久久久久久99999999 | 九九免费精品视频 | 亚洲成人精品国产 | 欧美日韩国产精品一区二区三区 | 久久99精品国产99久久 | 亚洲无毛专区 | 91伊人久久大香线蕉蜜芽人口 | www.天天成人国产电影 | 亚洲香蕉视频 | 欧美贵妇性狂欢 | 欧美日韩免费一区二区 | 欧洲成人av | 色天天久久 | 国产一区二区在线免费播放 | 日韩视频www | 亚洲精品欧洲精品 | 一区二区视频在线播放 | 超碰午夜| a色视频 | 天天爽综合网 | 色综合人人| 欧美一级在线观看视频 | 日本中文字幕电影在线免费观看 | 麻豆91在线观看 | 亚洲精品资源在线观看 | 亚洲美女精品视频 | 视频一区二区视频 | 麻豆va一区二区三区久久浪 | 贫乳av女优大全 | 欧洲精品码一区二区三区免费看 | 91资源在线 | 在线观看播放av | 亚洲欧美综合精品久久成人 | www.久久91| 美女精品| 不卡的一区二区三区 | 亚洲激情在线播放 | 亚洲精品在线观看av | 久久免费视频在线 | 韩日av在线 | 精品一区二区三区久久 | 四虎www com| 成人国产在线 | 97成人免费视频 | 国产亚洲婷婷 | 精产嫩模国品一二三区 | 欧美日韩免费一区二区 | 99精品视频网 | 亚洲一区二区三区在线看 | 久久久18 | 国产精品久久99 | 国产午夜小视频 | 日韩欧美视频免费观看 | 网址你懂的在线观看 | 成人国产精品入口 | 免费在线色电影 | 五月精品| 国产精品美女久久久久久久 | 亚洲乱码中文字幕综合 | 亚洲深夜影院 | 国产色婷婷在线 | 久久久久久久久网站 | 日韩精品久久一区二区三区 | 最近更新的中文字幕 | 婷婷丁香六月 | 日日草视频 | 久久亚洲免费 | 91av欧美 | 免费成人短视频 | 成人精品国产免费网站 | 中文字幕在线观看完整版电影 | 国内精品视频一区二区三区八戒 | 在线一区二区三区 | 久久理论视频 | 91久久精品一区二区三区 | 欧美日韩国产网站 | 丁香六月婷婷开心 | 国产青草视频在线观看 | 国产精品女人网站 | 丁香五香天综合情 | 91麻豆操| 日日干av | 精品在线视频播放 | 正在播放 国产精品 | 欧美亚洲免费在线一区 | 黄色免费在线看 | 麻豆传媒一区二区 | 色网站免费在线观看 | 免费av观看网站 | 天天色天天骑天天射 | 99热这里只有精品在线观看 | 国产高清不卡av | 欧美吞精| 国产自产在线视频 | 91九色porny蝌蚪视频 | 久久久免费毛片 | 国产视频欧美视频 | 亚洲另类视频 | 探花视频在线观看免费版 |