跟猫一起酸汤面系列:第37天 光阴似箭 日月如梭

正好聊到单键飞梭和多媒体电脑,还有买不起的苹果、金山汉卡、超级结巴、退掉的486、价值千元的WPS奖品......

满满的回忆,也只能回忆了,30多天前的东西也已经忘得差不多了,其实一共没有几个寄存器,

1)打开STM32CubeMX
File-New Project-STM32L011D4-Start Project
2)选择串口LPUART1
Mode-Asynchronous-115200-8-N-1
3)PA4设置为LED
4)项目设置
Project Name-Day.37
Toolchain/IDE-MDK-ARM V5.27
Copy Only the necessary library files
5)GENERATE CODE
6)打开项目
Day.37\MDK-ARM\Day.37.uvprojx
7)添加启动文件
startup_stm32l011xx.s
8)写点代码

HAL_Delay(950);
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
HAL_Delay(5);
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);

9)Build&Download
回忆到到第二天的闪灯了

10)建立debuguart.h

#ifndef __DEBUGUART_H
#define __DEBUGUART_H

#include "stdio.h"
#include "stm32l0xx_hal.h"

extern UART_HandleTypeDef hlpuart1;

#endif /* __DEBUGUART_H */

11)建立debuguart.c

#include "debuguart.h"

int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&hlpuart1, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;
}

12)debuguart.c添加到项目中
13)main.c添加
#include "debuguart.h"
14)测试输出
printf("好好学习 daydayup! \n\r");
15)putty可以看到中文,算是回忆到第8天吧

新的一天开始了,重新计数吧
1)选择SPI接口
Mode-FULL-Duplex Master
Frame Format-Motorola(默认)
Data Size-8 Bits(默认)
First Bit-MSB First(默认)
2)GENERATE CODE
3)时钟初始化后增加HAL_Delay(2000);加大启动窗口
4)建立nrf24l01.h

#ifndef __NRF24L01_H
#define __NRF24L01_H

#include "stm32l0xx_hal.h"

extern SPI_HandleTypeDef hspi1;

#endif /* __NRF24L01_H */

5)建立nrf24l01.c,并在main.c中引用nrf24l01.h

#include "nrf24l01.h"

6)增加初始化代码

printf("\r\n系统初始化\r\n");

while(NRF24L01_Check())
{
    printf("查询不到无线模块\r\n"); 
    HAL_Delay(1000);
}

printf("无线模块连接正常\r\n");

7)PA10-CSN PA9-CE Output
8)定义CS和CE
9)定义两个函数

void NRF24L01_Init(void);
uint8_t NRF24L01_Check(void);

10)发射的一个bug

NRF24L01_Write_Reg(FLUSH_TX,0xff);

发射之前要清一下

标签: none

添加新评论