久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4374|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

STM32 CAN總線溫度采集系統(tǒng)(點(diǎn)對點(diǎn))源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
STM32 CAN總線測試程序  本程序分主機(jī)程序和從機(jī)程序 硬件平臺(tái)是本人自己設(shè)計(jì)的開發(fā)板 經(jīng)測試程序運(yùn)行穩(wěn)定


單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart.h"         
  7. #include "can.h"
  8. #include "ds18b20.h"

  9. int main(void)
  10. {
  11.         u8 i=0,t=0;
  12.         u8 canbuf1[8];
  13.         u8 canbuf0[8];
  14.         u8 temp;
  15.         u8 res;
  16.     short temperature;             
  17.         NVIC_Configuration();          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)

  18.         KEY_Init();                                //按鍵初始化                        
  19.    
  20.         CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_1tq,CAN_BS1_6tq,9,CAN_Mode_Normal);//CAN初始化環(huán)回模式,波特率500Kbps   原來的 CAN_Mode_Normal

  21.         delay_init();                     //延時(shí)函數(shù)初始化          
  22.         uart_init(9600);                 //串口初始化為9600
  23.         LED_Init();                                  //初始化與LED連接的硬件接口
  24.         LCD_Init();
  25.         POINT_COLOR=RED;//設(shè)置字體為紅色
  26.         LCD_ShowString(60,50,200,16,16,"Mini STM32");       
  27.         LCD_ShowString(60,70,200,16,16,"DS18B20+CAN TEST");       
  28.         LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
  29.         LCD_ShowString(60,110,200,16,16,"2016/6/6");
  30.         LCD_ShowString(60,130,200,16,16,"LoopBack Mode");
  31.         LCD_ShowString(60,190,200,16,16,"Send Data:");
  32.         while(DS18B20_Init())        //DS18B20初始化       
  33.         {
  34.                 LCD_ShowString(60,130,200,16,16,"DS18B20 Error");
  35.                 delay_ms(200);
  36.                 LCD_Fill(60,130,239,130+16,WHITE);
  37.                 delay_ms(200);
  38.         }                                                                  
  39.         LCD_ShowString(60,130,200,16,16,"DS18B20 OK");
  40.         POINT_COLOR=BLUE;//設(shè)置字體為藍(lán)色
  41.         LCD_ShowString(60,150,200,16,16,"Temp:   . C");         
  42.         while(1)
  43.         {                        
  44.                 if(t%10==0)//每100ms讀取一次
  45.                 {                                                                          
  46.                         temperature=DS18B20_Get_Temp();       
  47.                         if(temperature<0)
  48.                         {
  49.                                 LCD_ShowChar(60+40,150,'-',16,0);                        //顯示負(fù)號(hào)
  50.                                 temperature=-temperature;                                        //轉(zhuǎn)為正數(shù)
  51.                         }else LCD_ShowChar(60+40,150,' ',16,0);                        //去掉負(fù)號(hào)
  52.                         LCD_ShowNum(60+40+8,150,temperature/10,2,16);        //顯示正數(shù)部分
  53.                         LCD_ShowNum(60+40+32,150,temperature%10,1,16);        //顯示小數(shù)部分
  54.                        
  55.                         temp=temperature;
  56.             for(i=0;i<8;i++)
  57.                                 canbuf0[i]=temp;        //溫度賦值并發(fā)送到主機(jī)
  58.                         Can_Send_Msg(canbuf0,8);//發(fā)送8個(gè)字節(jié)
  59.                         temp=temperature>>8;
  60.                         for(i=0;i<8;i++)
  61.                                 canbuf1[i]=(temp);        //溫度賦值并發(fā)送到主機(jī)
  62.                         Can_Send_Msg(canbuf1,8);//發(fā)送8個(gè)字節(jié)
  63. //                        if(res)LCD_ShowString(60+80,190,200,16,16,"Failed");                //提示發(fā)送失敗
  64. //                        else LCD_ShowString(60+80,190,200,16,16,"OK    ");                         //提示發(fā)送成功                   
  65.                 }                                  
  66.                  delay_ms(10);
  67.                 t++;
  68.                 if(t==20)
  69.                 {
  70.                         t=0;
  71.                         LED0=!LED0;
  72.                 }
  73.         }
  74. }
復(fù)制代碼

所有資料51hei提供下載:
CAN實(shí)驗(yàn).rar (1.32 MB, 下載次數(shù): 177)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:304620 發(fā)表于 2018-5-3 15:02 | 只看該作者
不錯(cuò),謝謝分享
回復(fù)

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
地板
ID:290871 發(fā)表于 2018-5-19 10:44 | 只看該作者
short temperature是啥意思
回復(fù)

使用道具 舉報(bào)

5#
無效樓層,該帖已經(jīng)被刪除
6#
ID:1018878 發(fā)表于 2022-6-9 16:23 | 只看該作者
這個(gè)io接口怎么設(shè)置的
回復(fù)

使用道具 舉報(bào)

7#
無效樓層,該帖已經(jīng)被刪除
8#
無效樓層,該帖已經(jīng)被刪除
9#
ID:833102 發(fā)表于 2023-7-11 17:21 | 只看該作者
666好文章
回復(fù)

使用道具 舉報(bào)

10#
無效樓層,該帖已經(jīng)被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产色综合久久 | 国产成人麻豆免费观看 | 99久久婷婷国产综合精品首页 | 成人精品一区二区户外勾搭野战 | 天天操网| 亚洲v日韩v综合v精品v | 91久久国产 | 欧美不卡一区 | 亚洲精彩免费视频 | av国产精品毛片一区二区小说 | 黄色在线观看 | 97影院2| 中文在线播放 | 精品久久久久久亚洲精品 | 夜夜爽夜夜操 | 中文字幕亚洲欧美日韩在线不卡 | 1区2区3区视频 | 午夜精品影院 | 色偷偷噜噜噜亚洲男人 | 天天插天天搞 | av香港经典三级级 在线 | 国产探花| 瑞克和莫蒂第五季在线观看 | 久久99久久久久 | 午夜视频在线观看视频 | 99亚洲综合 | 国产一区91精品张津瑜 | xnxx 日本免费 | 欧美一级电影免费 | 精品亚洲国产成av人片传媒 | 欧美福利 | 久久婷婷麻豆国产91天堂 | 日日夜夜91 | 日本三级黄视频 | 高清色| 欧美精品首页 | 成人综合视频在线观看 | 久久草在线视频 | 国产欧美日韩精品一区二区三区 | 91大神新作在线观看 | www.亚洲一区二区三区 |