娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

  1. /* Private variables ---------------------------------------------------------*/  

  2. uint16_t CAN_ID;  

  3. uint8_t CAN_DATA0,CAN_DATA1,CAN_DATA2,CAN_DATA3,CAN_DATA4,CAN_DATA5,CAN_DATA6,CAN_DATA7;  

  4. uint8_t CanFlag,Display;  

  5.   

  6.   

  7.   

  8.   

  9. void CAN_GPIO_Config(void)  

  10. {  

  11. GPIO_InitTypeDef GPIO_InitStructure;     

  12. /* CAN Periph clock enable */  

  13.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE);  

  14. // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE);  

  15.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);  

  16.   

  17.   /* Configure CAN pin: TX */  

  18.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;  

  19. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  

  20.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  

  21.   GPIO_Init(GPIOA, &GPIO_InitStructure);     

  22.  /* Configure CAN pin: RX */  

  23.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;  

  24.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;   

  25.   GPIO_Init(GPIOA, &GPIO_InitStructure);     

  26. // GPIO_PinRemapConfig(GPIO_Remap1_CAN1 , ENABLE);  

  27. }  

  28.   

  29.   

  30. void CAN_NVIC_Configuration(void)  

  31. {  

  32.  NVIC_InitTypeDef NVIC_InitStructure;     

  33.      

  34. #ifdef  VECT_TAB_RAM       

  35.   /* Set the Vector Table base location at 0x20000000 */      

  36.   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);      

  37. #else  /* VECT_TAB_FLASH  */     

  38.   /* Set the Vector Table base location at 0x08000000 */      

  39.   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);        

  40. #endif     

  41.      

  42.   /* enabling interrupt */     

  43.   NVIC_InitStructure.NVIC_IRQChannel=USB_LP_CAN1_RX0_IRQn;     

  44.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;     

  45.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     

  46.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;     

  47.   NVIC_Init(&NVIC_InitStructure);    

  48.   

  49. }  

  50.    

  51. void can_init(void)  

  52. {  

  53. CAN_InitTypeDef        CAN_InitStructure;  

  54. CAN_FilterInitTypeDef  CAN_FilterInitStructure;   

  55.   

  56. CAN_GPIO_Config();  

  57. CAN_NVIC_Configuration();  

  58. /* CAN register init */  

  59. CAN_DeInit(CAN1);  

  60. CAN_StructInit(&CAN_InitStructure);  

  61.   

  62.   

  63.  /* CAN cell init */  

  64.   CAN_InitStructure.CAN_TTCM = DISABLE; /* 時(shí)間觸發(fā)禁止, 時(shí)間觸發(fā):CAN硬件的內(nèi)部定時(shí)器被激活,并且被用于產(chǎn)生時(shí)間戳 */  

  65.   CAN_InitStructure.CAN_ABOM = DISABLE; /* 自動(dòng)離線禁止,自動(dòng)離線:一旦硬件監(jiān)控到128次11個(gè)隱性位,就自動(dòng)退出離線狀態(tài)。在這里要軟件設(shè)定后才能退出 */  

  66.   CAN_InitStructure.CAN_AWUM = DISABLE; /* 自動(dòng)喚醒禁止,有報(bào)文來的時(shí)候自動(dòng)退出休眠*/  

  67.   CAN_InitStructure.CAN_NART = DISABLE; /* 報(bào)文重傳, 如果錯(cuò)誤一直傳到成功止,否則只傳一次 */  

  68.   CAN_InitStructure.CAN_RFLM = DISABLE; /* 接收FIFO鎖定, 1--鎖定后接收到新的報(bào)文摘不要,0--接收到新的報(bào)文則覆蓋前一報(bào)文*/  

  69.   CAN_InitStructure.CAN_TXFP = DISABLE;  /* 發(fā)送優(yōu)先級(jí)  0---由標(biāo)識(shí)符決定  1---由發(fā)送請(qǐng)求順序決定*/  

  70.   CAN_InitStructure.CAN_Mode = CAN_Mode_Normal; /* 模式*/  

  71.   CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;      /* 重新同步跳寬,只有can硬件處于初始化模式時(shí)才能訪問這個(gè)寄存器 */  

  72.   CAN_InitStructure.CAN_BS1 = CAN_BS1_9tq;      /* 時(shí)間段1 */  

  73.   CAN_InitStructure.CAN_BS2 = CAN_BS2_6tq;      /* 時(shí)間段2 */  

  74.   CAN_InitStructure.CAN_Prescaler = 8;         /* 波特率預(yù)分頻數(shù) */    

  75. CAN_Init(CAN1, &CAN_InitStructure);            // 初始化CAN1   

  76.   /* 波特率計(jì)算方法 */  

  77.   /* CANbps= Fpclk/((BRP+1)*((Tseg1+1)+(Tseg2+1)+1)  此處計(jì)算為  CANbps=64000000/(16*(13+2+1))=250kHz */   

  78.   /* 配置大方向: Tseg1>=Tseg2  Tseg2>=tq; Tseg2>=2TSJW */  

  79.   /* 使用CAN波特率計(jì)算器得到CANBTR = 0x001C000F   具體某些位對(duì)應(yīng)SJW BS1 BS2 介紹網(wǎng)址http://blog.csdn.net/flydream0/article/details/8170185  */  

  80.   if (CAN_Init(CAN1,&CAN_InitStructure) == CANINITFAILED) //F  

  81.   {  

  82. rt_kprintf("CAN error \r\n");  

  83.     /* 初始化時(shí)先設(shè)置CAN_MCR的初始化位 */     

  84.     /* 然后查看硬件是否真的設(shè)置了CAN_MSR的初始化位來確認(rèn)是否進(jìn)入了初始化模式  */                    

  85.   }   

  86.   /* 配置CAN過濾器 */  

  87.   /* 32位對(duì)應(yīng)的id */  

  88.   /* stdid[10:0],extid[17:0],ide,rtr */  

  89.   /* 16位對(duì)應(yīng)的id */  

  90.   /* stdid[10:0],ide,rtr,extid[17:15] */  

  91.   /* 一般使用屏蔽模式 */  

  92.   /* 要注意的是fifo接收存滿了中斷,還有就是fifo的概念,即取的一直是最早那一個(gè)數(shù)據(jù), 要釋放才能取下一個(gè)數(shù)據(jù) */  

  93.   /* 常使用的中斷有 */  

  94.   /* 1,有信息中斷,即fifo掛號(hào)中斷 */  

  95.   /* 2,fifo滿中斷 */  

  96.   /* 3,fifo滿之后又有信息來則中斷,即fifo溢出中斷 */  

  97.   CAN_FilterInitStructure.CAN_FilterNumber=0;     /* 過濾器0 */  

  98.   CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;  /* 屏敝模式 */  

  99.   CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; /* 32位 */  

  100.   CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;  /* 以下四個(gè)都為0, 表明不過濾任何id */  

  101.   CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;  

  102.   CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;  

  103.   CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;  

  104.   CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;  /* 能夠通過該過濾器的報(bào)文存到fifo0中 */  

  105.   CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;  

  106.   CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);   /* 掛號(hào)中斷, 進(jìn)入中斷后讀fifo的報(bào)文函數(shù)釋放報(bào)文清中斷標(biāo)志 */  

  107.   CAN_FilterInit(&CAN_FilterInitStructure);  

  108.   

  109.   

  110. }  

  111.   

  112.   

  113. void CanWData(void)  

  114. {  

  115.   

  116.   CanTxMsg TxMessage;  

  117. #if 0  

  118.  /* transmit 1 message */     

  119. //  TxMessage.StdId=0x12;     

  120. //  TxMessage.ExtId=0x34;     

  121.     TxMessage.StdId=0x00;   //???00     

  122.     TxMessage.ExtId=0x00;  //???00     

  123.   TxMessage.IDE=CAN_ID_EXT;     

  124.   TxMessage.RTR=CAN_RTR_DATA;     

  125.   TxMessage.DLC=2;     

  126. //  TxMessage.Data[0]=0xDE;     

  127. //  TxMessage.Data[1]=0xCA;     

  128.   TxMessage.Data[0]=0xBB;   //???BB     

  129.   TxMessage.Data[1]=0xBB;  //???BB     

  130.   CAN_Transmit(CAN1,&TxMessage);    

  131. #else  

  132. uint32_t ID = 0x5a5;  

  133.   CAN_DATA0=rand()%0xff;  CAN_DATA1=rand()%0xff;    

  134.   CAN_DATA2=rand()%0xff;  CAN_DATA3=rand()%0xff;    

  135.   CAN_DATA4=rand()%0xff;  CAN_DATA5=rand()%0xff;  

  136.   CAN_DATA6=rand()%0xff;  CAN_DATA7=rand()%0xff;   

  137.   

  138.   

  139.   /* transmit */  

  140.   TxMessage.StdId = ID;  /* 設(shè)置標(biāo)準(zhǔn)id  注意標(biāo)準(zhǔn)id的最高7位不能全是隱性(1)。共11位 */  

  141. //TxMessage.ExtId = 0x00;     //設(shè)置擴(kuò)展id  擴(kuò)展id共18位  

  142.   TxMessage.RTR = CAN_RTR_DATA; /* 設(shè)置為數(shù)據(jù)幀 */  

  143.   TxMessage.IDE = CAN_ID_STD;   /* 使用標(biāo)準(zhǔn)id */  

  144.   TxMessage.DLC = 8;            /* 數(shù)據(jù)長(zhǎng)度, can報(bào)文規(guī)定最大的數(shù)據(jù)長(zhǎng)度為8字節(jié) */  

  145.   TxMessage.Data[0] = CAN_DATA0;      

  146.   TxMessage.Data[1] = CAN_DATA1;      

  147.   TxMessage.Data[2] = CAN_DATA2;      

  148.   TxMessage.Data[3] = CAN_DATA3;      

  149.   TxMessage.Data[4] = CAN_DATA4;      

  150.   TxMessage.Data[5] = CAN_DATA5;       

  151.   TxMessage.Data[6] = CAN_DATA6;      

  152.   TxMessage.Data[7] = CAN_DATA7;       

  153.   

  154.   CAN_Transmit(CAN1,&TxMessage);  /* 返回這個(gè)信息請(qǐng)求發(fā)送的郵箱號(hào)0,1,2或沒有郵箱申請(qǐng)發(fā)送no_box */  

  155. #endif  

  156. }  

  157.   

  158. void USB_LP_CAN1_RX0_IRQHandler(void)  

  159. {  

  160.   CanRxMsg RxMessage;  

  161. int i=0;  

  162.     CAN_Receive(CAN1, 0, &RxMessage);  

  163. for(i=0;i<8;i++)  

  164. printf("rxbuf[%d]:%d\r\n",i,RxMessage.Data[i]);  

  165. }  

  166.  


關(guān)鍵字:STM32  can配置  PA11  PA12 引用地址:STM32 can配置PA11 PA12

上一篇: STM32之CAN控制器
下一篇:STM32時(shí)鐘使能及應(yīng)用總結(jié)

推薦閱讀

智能化時(shí)代已經(jīng)到來,在人工智能技術(shù)的助力下,新一代服務(wù)機(jī)器人逐漸走進(jìn)人們的生活場(chǎng)景當(dāng)中,同時(shí)顯現(xiàn)出巨大的市場(chǎng)機(jī)遇。從醫(yī)療到家庭、教育、養(yǎng)老、商場(chǎng)服務(wù)等,智能服務(wù)機(jī)器人為人類工作和生活提供了極大的便利和創(chuàng)造了更先進(jìn)的體驗(yàn)。2018年8月30-9月1日,由中國高科技行業(yè)門戶OFweek維科網(wǎng)、HTC高科會(huì)主辦,OFweek人工智能網(wǎng)承辦的2018中國(上海)國...
在2018年末到2019年的上半年這段時(shí)間里,雖然傳統(tǒng)HiFi行業(yè)受到了不小的沖擊一直在下滑的趨勢(shì),但是其實(shí)對(duì)于高端的隨身HiFi耳塞行業(yè)來說新品和新的旗艦級(jí)產(chǎn)品卻如雨后春筍般出現(xiàn)了不少強(qiáng)勁的新品。  雖然今年耳機(jī)相關(guān)的線下活動(dòng)并不少,但是畢竟還有很多消費(fèi)者沒有領(lǐng)略過這些新品的聲音表現(xiàn),而我們?cè)谶@一年的時(shí)間里對(duì)這些行業(yè)的熱門新品也基本都做了相關(guān)...
復(fù)位后,調(diào)試引腳處于復(fù)用功能上拉/下拉狀態(tài):PA15:JTDI處于上拉狀態(tài)PA14:JTCK/SWCLK處于下拉狀態(tài)PA13:JTMS/SWDAT處于下拉狀態(tài)PB4:NJTRST處于上拉狀態(tài)PB3:JTDO處于浮空狀態(tài)
據(jù)外媒報(bào)道,小米11T系列預(yù)計(jì)將在9月15日發(fā)布,國外爆料人士Ishan Agarwal已經(jīng)放出了小米11T系列的渲染圖。渲染圖顯示,這兩款手機(jī)的外觀基本一致,且配色一致,從屏幕打孔位置以及相機(jī)模塊設(shè)計(jì)來看,新機(jī)在設(shè)計(jì)上將更接近K40系列,而非小米11系列,其后置相機(jī)模組中包含兩個(gè)較大的攝像頭與一個(gè)較小的攝像頭,背部左下角為小米5G標(biāo)志,音量鍵和電源鍵都在...

史海拾趣

問答坊 | AI 解惑

正在學(xué)DSP,但發(fā)覺DSP卻用處不大!前途也~~

發(fā)覺DSP的用處真不大,而且價(jià)格有高。 做音視頻的編解碼,用專用的ASC電路成本更低廉,性能更高。應(yīng)為這種方案的廠家提供的選擇更多,成本更低廉。 至于控制領(lǐng)域,用 ARM7, STM32等CORTEX-M3性能價(jià)格更低廉. 例如用ARM7: LPC系列,AT91SAM7 ...…

查看全部問答∨

有誰用過網(wǎng)絡(luò)變壓器

有誰有用過網(wǎng)絡(luò)變壓器的老前輩,請(qǐng)問他的正負(fù)是不是可以調(diào)著接呀,下面這圖,我看暈了!…

查看全部問答∨

奇怪的看門狗問題!

測(cè)試LPC2124的看門狗功能時(shí)遇到這樣一個(gè)問題,主函數(shù)如下,其中延時(shí)函數(shù)DelayNS()里面有一個(gè)喂狗函數(shù)WdtFeed(),在后面的while循環(huán)里等待看門狗計(jì)數(shù)溢出復(fù)位。結(jié)果如預(yù)期一樣正確。然而奇怪的是,當(dāng)把延時(shí)函數(shù)DelayNS()里面的喂狗函數(shù)WdtFeed()注 ...…

查看全部問答∨

應(yīng)急燈原理圖重新修改提交

由于以前選用電池管理芯片,MAX1924V, 美信半導(dǎo)體不提供免費(fèi)的芯片。所以修改設(shè)計(jì),重新選用MAX17005B做為電池管理芯片,修改原理圖,并已經(jīng)到美信網(wǎng)站申請(qǐng)了芯片MAX17005B和MAX8790A LED驅(qū)動(dòng)芯片。最新原理圖如下: …

查看全部問答∨

使用IAR軟件仿真STM32程序,如何知道每條指令運(yùn)行的時(shí)間呢?

                                 在哪個(gè)選項(xiàng)里面可以得到答案?我使用的是IAR&nbsp;for&nbsp;ARM&nbsp;4.42版本的。…

查看全部問答∨

求幫忙,各位神俠,幫幫小女子吧

我們要求設(shè)計(jì)基于單片機(jī)的交流參數(shù)測(cè)試儀,我雖然有一點(diǎn)思路,但是還是很模糊,求求各位幫忙講解下原理,采集、參數(shù)好像有電壓、電流、功率…

查看全部問答∨

好用的Verilog串口UART程序

==========================================================================//-----------------------------------------------------// Design Name : uart // File Name   : uart.v//     : Simple UART// Coder&nb ...…

查看全部問答∨

proteus仿真430提示錯(cuò)誤

使用proteus仿真430的時(shí)候設(shè)置什么的都對(duì)但是運(yùn)行起來proteus就提示芯片選擇錯(cuò)誤 IAR軟件里全部都設(shè)置好了,但是就是仿真不行,用的IAR FOR 430 5.5版本,proteus用的是7.9的。有誰遇到過這樣的問題嗎,請(qǐng)求幫助?。? …

查看全部問答∨

請(qǐng)大家推薦一塊BeagleBone用4寸800*480左右分辨率的TFT屏

正在畫BeagleBone的擴(kuò)展板,BeagleBone自帶了LCD控制器,輸出電平信號(hào),請(qǐng)大家推薦一塊4寸800*480左右分辨率的TFT屏,最好是不需要電平轉(zhuǎn)換直接就能用的,一經(jīng)采用可以贈(zèng)送一塊擴(kuò)展板或者其他的開發(fā)板,謝謝!…

查看全部問答∨

為什么我用兩個(gè)定時(shí)中斷會(huì)出現(xiàn)合并后就編譯出現(xiàn)亂碼??分開的編譯卻是正常的。求救!

#include<reg52.h> #include <intrins.h> sbit p10=P1^0;   //數(shù)碼管控制端 sbit p11=P1^1; sbit p12=P1^2; sbit p13=P1^3; sbit p20=P2^0;   //按鍵控制端 sbit p21=P2^1; sbit p22=P2^2; sbit p27=P2^7; b ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章
電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 湛江市| 永年县| 五原县| 德州市| 岱山县| 贺兰县| 黑河市| 仙桃市| 科技| 阿城市| 潞城市| 清徐县| 五大连池市| 淮安市| 鹤庆县| 蕲春县| 永兴县| 阳朔县| 拉萨市| 合阳县| 个旧市| 班戈县| 武定县| 永福县| 江源县| 安吉县| 常山县| 陇南市| 平果县| 曲靖市| 鹿邑县| 咸丰县| 新晃| 乐业县| 北票市| 榆社县| 阆中市| 潜江市| 宣武区| 溆浦县| 塔河县|