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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4414|回復: 4
收起左側

STM32 CAN總線溫度采集系統(點對點)源程序

  [復制鏈接]
ID:320890 發表于 2018-5-2 23:26 | 顯示全部樓層 |閱讀模式
STM32 CAN總線測試程序  本程序分主機程序和從機程序 硬件平臺是本人自己設計的開發板 經測試程序運行穩定
0.png

單片機源程序如下:
  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();          //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級

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

  21.         delay_init();                     //延時函數初始化          
  22.         uart_init(9600);                 //串口初始化為9600
  23.         LED_Init();                                  //初始化與LED連接的硬件接口
  24.         LCD_Init();
  25.         POINT_COLOR=RED;//設置字體為紅色
  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;//設置字體為藍色
  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);                        //顯示負號
  50.                                 temperature=-temperature;                                        //轉為正數
  51.                         }else LCD_ShowChar(60+40,150,' ',16,0);                        //去掉負號
  52.                         LCD_ShowNum(60+40+8,150,temperature/10,2,16);        //顯示正數部分
  53.                         LCD_ShowNum(60+40+32,150,temperature%10,1,16);        //顯示小數部分
  54.                        
  55.                         temp=temperature;
  56.             for(i=0;i<8;i++)
  57.                                 canbuf0[i]=temp;        //溫度賦值并發送到主機
  58.                         Can_Send_Msg(canbuf0,8);//發送8個字節
  59.                         temp=temperature>>8;
  60.                         for(i=0;i<8;i++)
  61.                                 canbuf1[i]=(temp);        //溫度賦值并發送到主機
  62.                         Can_Send_Msg(canbuf1,8);//發送8個字節
  63. //                        if(res)LCD_ShowString(60+80,190,200,16,16,"Failed");                //提示發送失敗
  64. //                        else LCD_ShowString(60+80,190,200,16,16,"OK    ");                         //提示發送成功                   
  65.                 }                                  
  66.                  delay_ms(10);
  67.                 t++;
  68.                 if(t==20)
  69.                 {
  70.                         t=0;
  71.                         LED0=!LED0;
  72.                 }
  73.         }
  74. }
復制代碼

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


回復

使用道具 舉報

ID:304620 發表于 2018-5-3 15:02 | 顯示全部樓層
不錯,謝謝分享
回復

使用道具 舉報

ID:290871 發表于 2018-5-19 10:44 | 顯示全部樓層
short temperature是啥意思
回復

使用道具 舉報

ID:1018878 發表于 2022-6-9 16:23 | 顯示全部樓層
這個io接口怎么設置的
回復

使用道具 舉報

ID:833102 發表于 2023-7-11 17:21 | 顯示全部樓層
666好文章
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本三级大片 | 在线免费观看日韩av | 日日干日日操 | 免费视频久久久 | 欧美一级黄色录像 | 中文字幕免费在线看线人动作大片 | 日韩视频一区 | 亚洲欧洲综合 | 中文字幕在线观看网站 | 一区二区三区高清 | 一区二区三区四区视频在线观看 | 91精品国产综合久久久蜜臀 | 成人国产精品 | 在线观看日韩 | 三级黄色网 | 天堂视频在线免费观看 | 福利网站在线观看 | 黄色片在线播放 | 欧美一级黄色片 | 88av视频 | 小日子的在线观看免费第8集 | 在线看的av | 日韩成人免费视频 | 婷婷免费视频 | 青草视频在线观看免费 | 国产伦精品一区二区三区照片 | 天天操夜夜 | 黄色一级免费 | 一级片在线免费观看 | 欧美黄色录像 | 四虎8848| 在线亚洲天堂 | 精品免费在线观看 | 日本视频在线免费观看 | 久久精品国产一区二区 | 亚洲成人中文字幕 | 日本a在线观看 | 一道本在线观看 | 免费在线小视频 | 嫩草嫩草嫩草嫩草 | 九九精品在线视频 |