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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5812|回復: 8
打印 上一主題 下一主題
收起左側

stm32+cc1101通訊可用程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:395041 發表于 2018-9-7 15:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
cc1101是一種915M、868M和433M無線通訊模塊,32程序例程如附件,實測可以

單片機源程序如下:
  1. /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
  2. * File Name          : main.c
  3. * Author             : MCD Application Team
  4. * Version            : V2.0.3
  5. * Date               : 09/22/2008
  6. * Description        : Main program body
  7. ********************************************************************************
  8. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  9. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
  10. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  11. * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
  12. * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
  13. * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  14. *******************************************************************************/

  15. /* Includes ------------------------------------------------------------------*/
  16. //#include "platform_config.h"
  17. #include "spi_cc1101.h"

  18. /* Local includes ------------------------------------------------------------*/
  19. /* Private typedef -----------------------------------------------------------*/
  20. typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;

  21. /* Private define ------------------------------------------------------------*/
  22. #define  FLASH_WriteAddress     0x000000
  23. #define  FLASH_ReadAddress      FLASH_WriteAddress
  24. #define  FLASH_SectorToErase    FLASH_WriteAddress
  25. #define  AT45DB161D_FLASH_ID    0x1F260000
  26. #define  BufferSize (countof(Tx_Buffer)-1)

  27. #define  ZB_LCD_POWER_PIN                GPIO_Pin_0

  28. /* Private macro -------------------------------------------------------------*/
  29. #define countof(a) (sizeof(a) / sizeof(*(a)))

  30. /* Private variables ---------------------------------------------------------*/
  31. //u8 Tx_Buffer[] = "STM32F10x SPI Firmware Library Example: communication with an AT45DB161D SPI FLASH";
  32. //u8 Index, Rx_Buffer[BufferSize];
  33. volatile TestStatus TransferStatus1 = FAILED, TransferStatus2 = PASSED;
  34. vu32 FLASH_ID = 0;
  35. ErrorStatus HSEStartUpStatus;

  36. /* Private functions ---------------------------------------------------------*/
  37. TestStatus Buffercmp(u8* pBuffer1, u8* pBuffer2, u16 BufferLength);
  38. void RCC_Configuration(void);
  39. void GPIO_Configuration(void);
  40. void NVIC_Configuration(void);

  41. void ZB_LCD_PowerCtrl_Init(void);
  42. void ZB_LCD_PowerOn(void);
  43. void ZB_LCD_PowerOff(void);

  44. void led_init(void)
  45. {
  46.         GPIO_InitTypeDef GPIO_InitStructure;
  47.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);
  48.        
  49.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  50.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  51.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  52.         GPIO_Init(GPIOC, &GPIO_InitStructure);
  53. }

  54. /*******************************************************************************
  55. * Function Name  : main
  56. * Description    : Main program
  57. * Input          : None
  58. * Output         : None
  59. * Return         : None
  60. *******************************************************************************/
  61. int main(void)
  62. {
  63. #ifdef DEBUG
  64.   debug();
  65. #endif
  66.   ZB_LCD_PowerCtrl_Init();
  67.   ZB_LCD_PowerOn();

  68.   /* System clocks configuration */
  69.   RCC_Configuration();

  70.   /* NVIC configuration */
  71.   NVIC_Configuration();

  72.   /* GPIO configuration */
  73.   //GPIO_Configuration();

  74.   /* Initialize the SPI driver */
  75.   SPI_CC1101_Init();
  76.   led_init();
  77.   CC1101_Main();  

  78. }

  79. /*******************************************************************************
  80. * Function Name  : RCC_Configuration
  81. * Description    : Configures the different system clocks.
  82. * Input          : None
  83. * Output         : None
  84. * Return         : None
  85. *******************************************************************************/
  86. void RCC_Configuration(void)
  87. {
  88.   /* RCC system reset(for debug purpose) */
  89.   RCC_DeInit();

  90.   /* Enable HSE */
  91.   RCC_HSEConfig(RCC_HSE_ON);

  92.   /* Wait till HSE is ready */
  93.   HSEStartUpStatus = RCC_WaitForHSEStartUp();

  94.   if (HSEStartUpStatus == SUCCESS)
  95.   {
  96.     /* Enable Prefetch Buffer */
  97.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

  98.     /* Flash 2 wait state */
  99.     FLASH_SetLatency(FLASH_Latency_2);

  100.     /* HCLK = SYSCLK */
  101.     RCC_HCLKConfig(RCC_SYSCLK_Div1);

  102.     /* PCLK2 = HCLK */
  103.     RCC_PCLK2Config(RCC_HCLK_Div1);

  104.     /* PCLK1 = HCLK/2 */
  105.     RCC_PCLK1Config(RCC_HCLK_Div2);

  106.     /* PLLCLK = 8MHz * 9 = 72 MHz */
  107.     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

  108.     /* Enable PLL */
  109.     RCC_PLLCmd(ENABLE);

  110.     /* Wait till PLL is ready */
  111.     while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  112.     {}

  113.     /* Select PLL as system clock source */
  114.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  115.     /* Wait till PLL is used as system clock source */
  116.     while (RCC_GetSYSCLKSource() != 0x08)
  117.     {}
  118.   }

  119.   /* Enable GPIO_LED clock */
  120.   //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_LED, ENABLE);
  121. }

  122. /*******************************************************************************
  123. * Function Name  : GPIO_Configuration
  124. * Description    : Configures the different GPIO ports.
  125. * Input          : None
  126. * Output         : None
  127. * Return         : None
  128. *******************************************************************************/
  129. void GPIO_Configuration(void)
  130. {
  131.   //GPIO_InitTypeDef GPIO_InitStructure;

  132.   /* Configure GPIO LED pin6 and pin7 as Output push-pull --------------------*/
  133.   /*GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
  134.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  135.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  136.   GPIO_Init(GPIO_LED, &GPIO_InitStructure);*/
  137. }

  138. void ZB_LCD_PowerCtrl_Init(void)
  139. {
  140.         GPIO_InitTypeDef  gpio_init;
  141.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
  142.         gpio_init.GPIO_Pin   = ZB_LCD_POWER_PIN;
  143.     gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
  144.     gpio_init.GPIO_Mode  = GPIO_Mode_Out_PP;
  145.     GPIO_Init(GPIOE, &gpio_init);

  146. }

  147. void ZB_LCD_PowerOn(void)
  148. {
  149. GPIO_SetBits(GPIOE, ZB_LCD_POWER_PIN);
  150. }

  151. void ZB_LCD_PowerOff(void)
  152. {
  153. GPIO_ResetBits(GPIOE, ZB_LCD_POWER_PIN);
  154. }

  155. /*******************************************************************************
  156. * Function Name  : NVIC_Configuration
  157. * Description    : Configures Vector Table base location.
  158. * Input          : None
  159. * Output         : None
  160. * Return         : None
  161. *******************************************************************************/
  162. void NVIC_Configuration(void)
  163. {
  164. #ifdef  VECT_TAB_RAM
  165.   /* Set the Vector Table base location at 0x20000000 */
  166.   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
  167. #else  /* VECT_TAB_FLASH  */
  168.   /* Set the Vector Table base location at 0x08000000 */
  169.   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
  170. #endif
  171. }

  172. /*******************************************************************************
  173. * Function Name  : Buffercmp
  174. * Description    : Compares two buffers.
  175. * Input          : - pBuffer1, pBuffer2: buffers to be compared.
  176. *                : - BufferLength: buffer's length
  177. * Output         : None
  178. * Return         : PASSED: pBuffer1 identical to pBuffer2
  179. *                  FAILED: pBuffer1 differs from pBuffer2
  180. *******************************************************************************/
  181. TestStatus Buffercmp(u8* pBuffer1, u8* pBuffer2, u16 BufferLength)
  182. {
  183.   while (BufferLength--)
  184.   {
  185.     if (*pBuffer1 != *pBuffer2)
  186.     {
  187.       return FAILED;
  188.     }

  189. ……………………

  190. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
stm32_cc1101.rar (2.02 MB, 下載次數: 144)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:472396 發表于 2019-11-7 09:02 | 只看該作者
好貼,有幫助
回復

使用道具 舉報

板凳
ID:525122 發表于 2019-11-7 10:38 | 只看該作者
STM32F103C8T6可以用嗎?
回復

使用道具 舉報

地板
ID:781556 發表于 2020-8-9 20:46 | 只看該作者
thanks 4 share
回復

使用道具 舉報

5#
ID:162154 發表于 2021-1-6 10:13 | 只看該作者
好貼,感謝作者分享
回復

使用道具 舉報

6#
ID:398504 發表于 2021-8-27 22:55 | 只看該作者
謝謝,可以用來參考開發CC113L
回復

使用道具 舉報

7#
ID:84495 發表于 2021-9-3 14:09 | 只看該作者
堪稱神壇了,感覺常用代碼都能找到,隨手一百¥度就進來了
回復

使用道具 舉報

8#
ID:187802 發表于 2021-9-17 10:04 | 只看該作者
感謝作者分享,買了2片準備試一下。
回復

使用道具 舉報

9#
ID:160726 發表于 2022-5-3 22:59 | 只看該作者
帖子不錯,就是不小心下載了2次 扣了10分
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级欧美一级在线播放 | 精品乱子伦一区二区三区 | av黄色网| 性色网站| 久久一及片 | 免费在线一区二区 | 亚洲精品国产第一综合99久久 | 亚洲免费婷婷 | 99久久婷婷国产综合精品电影 | 成人h动漫精品一区二区器材 | 天天操一操 | 久久手机在线视频 | 性生活毛片| 91在线看片 | 色婷婷精品久久二区二区蜜臂av | 亚洲精品一二三区 | 亚洲精品大全 | 日韩av视屏 | 黄视频网址 | 99精品在线 | 久久久久久久久久久久91 | 成人国产一区二区三区精品麻豆 | 欧美日本韩国一区二区 | 亚洲一区二区三区在线播放 | 亚洲成网 | 欧美日韩精品影院 | 免费在线观看av网址 | 成人av片在线观看 | 成年视频在线观看福利资源 | 国产精品夜夜夜一区二区三区尤 | 青青草国产在线观看 | 久久久久久亚洲 | 亚洲精品一区国产精品 | 欧美成人影院在线 | 国产在线观看一区二区三区 | 在线免费视频一区 | 日韩不卡一二区 | 国产精品久久久久久久久久久久久 | www亚洲精品 | 91美女在线 | 日韩欧美一区二区三区 |