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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

STM32白光通信發(fā)送與接收端程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
白光通信發(fā)送與接收端程序
◆實(shí)驗(yàn)?zāi)康?
    本實(shí)驗(yàn)為新建工程實(shí)驗(yàn),僅供大家新建工程時(shí)參考。
   
◆參考資料:電子手冊(cè):《STM32F1開發(fā)指南-庫(kù)函數(shù)版本》第3.3節(jié)。
           視頻教程:《手把手教你學(xué)STM32》系列視頻
           參考書本:《原子教你玩STM32-庫(kù)函數(shù)版本》
   
◆硬件資源:
    1,LED0,LED1
   
◆實(shí)驗(yàn)現(xiàn)象:
    本實(shí)驗(yàn)下載后,LED0和LED1循環(huán)閃爍。
   
◆注意事項(xiàng):
    無.



單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "stm32f10x_conf.h"
  3. #include "ucos_ii.h"
  4. #include "sys.h"
  5. #include "delay.h"
  6. #include "dac.h"
  7. #include "adc.h"
  8. #include "bsp_usart1.h"
  9. #include "uart_api.h"

  10. #define        TASK_STK_SIZE         64              //定義堆棧長(zhǎng)度


  11. OS_STK LED0_TASK_STK[TASK_STK_SIZE];
  12. OS_STK LED1_TASK_STK[TASK_STK_SIZE];  /*定義兩個(gè)任務(wù)的堆棧數(shù)組*/

  13. #define ON 0
  14. #define OFF 1

  15. #define LED0(a)        if (a)        \
  16.                                         GPIO_SetBits(GPIOB,GPIO_Pin_5);\
  17.                                         else                \
  18.                                         GPIO_ResetBits(GPIOB,GPIO_Pin_5)
  19. #define LED1(a)        if (a)        \
  20.                                         GPIO_SetBits(GPIOE,GPIO_Pin_5);\
  21.                                         else                \
  22.                                         GPIO_ResetBits(GPIOE,GPIO_Pin_5)  /*宏定義兩個(gè)選擇函數(shù)*/

  23.                                        
  24.                                         // ADC1轉(zhuǎn)換的電壓值通過MDA方式傳到SRAM
  25. extern __IO uint16_t ADC_ConvertedValue[2];

  26. // 局部變量,用于保存轉(zhuǎn)換計(jì)算后的電壓值                         
  27. float ADC_ConvertedValueLocal;
  28. u16 f;
  29.                                         u16 g=4095;
  30.         uint8_t ucaRxBuf[1024];
  31.         uint16_t usRxCount;
  32.         uint8_t ucTemp;       
  33.                                        
  34.                                        
  35.                                        
  36. uint8_t data1,data2,data;
  37. uint16_t ADC_ConvVaule;                //采樣值
  38. uint16_t ADC_true;                //采樣的原碼
  39.                                        
  40.                                        
  41.                                             int a=0;
  42.               int b=0;       
  43. void GPIO_configuration(void)                                                      //配置I/O口
  44. {               

  45.         GPIO_InitTypeDef GPIO_InitStructure;
  46.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /*開啟GPIOA的外設(shè)時(shí)鐘*/
  47.             RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); /*開啟GPIOA的外設(shè)時(shí)鐘*/
  48.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;  /*選擇要控制的GPIOA引腳*/       
  49.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      /*設(shè)置引腳模式為通用推挽輸出*/                 
  50.                                                                                                                   
  51.            GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  52.     GPIO_Init(GPIOB, &GPIO_InitStructure);        
  53.     GPIO_Init(GPIOE, &GPIO_InitStructure);             /*調(diào)用庫(kù)函數(shù),初始化GPIOA*/         

  54.         /* 關(guān)閉led0燈        */
  55.         GPIO_SetBits(GPIOB, GPIO_Pin_5);
  56.                 GPIO_SetBits(GPIOE, GPIO_Pin_5);

  57. }

  58. void BSP_Init(void)               //硬件配置
  59. {  
  60.     GPIO_configuration();  /* GPIO端口初始化 */
  61. }



  62. void SysTick_init(void)               /*  SysTick_init   配置SysTick定時(shí)器  */
  63. {
  64.     SysTick_Config(SystemCoreClock/OS_TICKS_PER_SEC);   //初始化并使能SysTick定時(shí)器
  65. }


  66. void Task_LED0(void *p_arg)
  67. {
  68.     (void)p_arg;                                                 // 'p_arg' 并沒有用到,防止編譯器提示警告

  69.     SysTick_init();                            //在第一個(gè)任務(wù)中開啟系統(tǒng)時(shí)鐘

  70.                   
  71.     while (1)
  72.     {


  73.                            ADC_ConvertedValueLocal =(float) ADC_ConvertedValue[0]/4096*3.3; // 讀取轉(zhuǎn)換的AD值
  74.         f =ADC_ConvertedValueLocal*1000.0;   
  75.                           DAC1_Set_Vol(f);
  76. //         a=  f/256;
  77. //                           b=  f%256;

  78. //                        comSendChar(COM1,a);
  79. //                comSendChar(COM1, b);
  80. //                  comSendChar(COM1, 254);
  81. //                         comSendChar(COM1, 255);
  82.                
  83. //                       
  84. //                        comSendChar(COM1, 0);

  85.                        
  86.              ADC_ConvVaule = f;
  87.                        

  88.        
  89.                
  90.                                 ADC_true = ADC_ConvVaule;                //保存原碼
  91.                                 data1 = (( ADC_true ) >> 6) | 0x80;
  92.                                 data2 = ((uint8_t)( ADC_true )) | 0xc0;  //+ 1060
  93.                         comSendChar(COM1,data1);
  94.                 comSendChar(COM1,data2);

  95.                        
  96.     }
  97. }
  98. void Task_LED1(void *p_arg)
  99. {
  100.     (void)p_arg;                                                 // 'p_arg' 并沒有用到,防止編譯器提示警告
  101.     SysTick_init();   
  102.              while (1)
  103.     {
  104.    OSTimeDlyHMSM(0, 0,0,0);

  105.     }
  106. }



  107. int main(void)
  108. {
  109.         BSP_Init();
  110.         OSInit();
  111. comInit();
  112.                 usRxCount = 0;
  113. ……………………

  114. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
白光通信源碼.rar (761.94 KB, 下載次數(shù): 41)



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

使用道具 舉報(bào)

沙發(fā)
ID:78510 發(fā)表于 2017-8-9 13:52 | 只看該作者
真的不錯(cuò),我要感謝你
回復(fù)

使用道具 舉報(bào)

板凳
ID:226253 發(fā)表于 2017-8-9 20:57 | 只看該作者
代碼與白光通信完全無關(guān),僅僅是串口發(fā)送接收
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产精品一区 | 在线播放一区二区三区 | 色综合桃花网 | 中文字幕高清 | 国产伦精品一区二区三区照片91 | 成人二区 | 午夜爽爽爽男女免费观看 | 日韩久久久久 | 国产欧美日韩精品一区 | 91精品久久久久久久久99蜜臂 | 欧美一级一区 | 亚洲欧美激情国产综合久久久 | 亚洲精品电影在线观看 | 一区二区三区电影网 | 日韩欧美在线免费观看视频 | 欧美区日韩区 | 美女国内精品自产拍在线播放 | 国产一级片在线观看视频 | 日韩中文字幕av | 一区二区三区四区免费在线观看 | 香蕉视频久久久 | 黑人巨大精品欧美黑白配亚洲 | 亚洲一区二区在线电影 | 干狠狠 | 日批免费看 | 中文字幕亚洲一区 | 日韩av电影院 | 成人精品国产 | 欧美在线资源 | 毛片一区二区三区 | www免费视频| 久久精品欧美电影 | 欧美自拍一区 | 国产精品久久久亚洲 | 成人影院在线观看 | 欧美日韩中文字幕在线 | 久久精品免费一区二区三 | 美日韩免费| 欧美日韩网站 | 亚洲成人av一区二区 | 91不卡|