[原创] “玩板”+ 共享单车控制板-硬件改造2

chenzhufly   2020-3-14 16:36 楼主

已经确定芯片工作是没问题的了,我准备继续改造这个控制板,准备接一个调试串口 和 焊接一个状态灯,效果如下:


微信图片_20200314162953.jpg

板载芯片的之间的连接关系:

型号  stm32管脚 功能  
PCF8563-SCL 58 PB6 I2C1_SCL  
PCF8564-SDA 59 PB7 I2C1_SDA
LOCK_TX 17 PA3 USART2_RX 调试串口
LOCK_RX 16 PA2 USART2_TX
LOGE_TX 54 PD2 UART5_RX  
LOGE_RX 53 PC12 UART5_TX
GPS_TX 30 PB11 USART3_RX  ublox-M8Q
GPS_RX 29 PB10 USART3_TX
GPRS_TX 43 PA10 USART1_RX  SIM800C
GPRS_RX 42 PA9 USART1_TX
GPRS_RTS 45 PA12 USART1_RTS
GPRS_CTS 44 PA11 USART1_ CTS
GPRS_DTR 40 PC9  
GPRS_ RI 36 PB15  
GPRS_STATUS 41 PA8  
LED 8 PC0   状态灯

 

由于控制板的电源应该是太阳能板供电 或 3.7V电池供电,我准备直接把他们都并到3.3V上,方便操作。

把搜集到的资料也共享一下,接下来要写个测试程序验证一下了。

SIM800C-硬件设计手册-V1.00.pdf (2.41 MB)
(下载次数: 8, 2020-3-14 16:34 上传)

MAX-M8-FW3_DataSheet_(UBX-15031506).pdf (924.84 KB)
(下载次数: 7, 2020-3-14 16:34 上传)

MAX-M8_ProductSummary_(UBX-16008997).pdf (159.51 KB)
(下载次数: 7, 2020-3-14 16:34 上传)

PCF8563T中文资料.pdf (6.25 MB)
(下载次数: 7, 2020-3-14 16:34 上传)

 

写了个简单的点灯 和 串口测试的程序,1秒钟闪灯一次,1秒钟输出一次计数,一切正常!

mobile.zip (17.3 MB)
(下载次数: 10, 2020-3-14 17:47 上传)

定义一下LED

#define LED1_PIN                           GPIO_PIN_0
#define LED1_GPIO_PORT                     GPIOC
#define LED1_Off  HAL_GPIO_WritePin(LED1_GPIO_PORT, LED1_PIN, GPIO_PIN_SET) 
#define LED1_On  HAL_GPIO_WritePin(LED1_GPIO_PORT, LED1_PIN, GPIO_PIN_RESET) 
#define LED1_Toggle     HAL_GPIO_TogglePin(LED1_GPIO_PORT, LED1_PIN)

main函数是这样的

int main(void)
{
  /* USER CODE BEGIN 1 */
  uint8_t i=0;
  /* USER CODE END 1 */
  

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_I2C1_Init();
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
  MX_USART3_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
		    HAL_UART_Transmit(&huart2, (uint8_t *)&i, 1, 0xFFFF);
		    LED1_Toggle;
        HAL_Delay(1000);
		    i++;
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 

微信图片_20200314174423.png

 


此内容由EEWORLD论坛网友chenzhufly原创,如需转载或用于商业用途需征得作者同意并注明出处
 

本帖最后由 chenzhufly 于 2020-3-15 10:22 编辑
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰

回复评论 (4)

好,期待版主后续分享。

大道至简
点赞  2020-3-16 14:51

谢谢分享!

 

如果串口可用了,是否可以通过AT指令来驱动SIM800C了?

点赞  2020-3-16 20:52


你好我有一快版请问怎么连接电脑

本帖最后由 陈哈斯 于 2020-11-14 00:26 编辑
  • IMG_20201114_001253.jpg
  • IMG_20201114_001244.jpg
  • IMG_20201114_002424.jpg
  • IMG_20201114_002424.jpg
点赞  2020-11-14 00:22

没人回帖算是费了

点赞  2020-11-15 17:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复