炫Q 发布的文章

阿里云节点测速

oss-cn-hangzhou.aliyuncs.com(华东1 杭州)
oss-cn-shanghai.aliyuncs.com(华东2 上海)
oss-cn-qingdao.aliyuncs.com(华北1 青岛)
oss-cn-beijing.aliyuncs.com(华北2 北京)
oss-cn-zhangjiakou.aliyuncs.com(华北3 张家口)
oss-cn-huhehaote.aliyuncs.com(华北5 呼和浩特)
oss-cn-shenzhen.aliyuncs.com(华南1 深圳)
oss-cn-hongkong.aliyuncs.com(香港)
oss-us-west-1.aliyuncs.com(美国西部1 硅谷)
oss-us-east-1.aliyuncs.com(美国东部1 弗吉尼亚)
oss-ap-southeast-1.aliyuncs.com(亚太东南1 新加坡)
oss-ap-southeast-2.aliyuncs.com(亚太东南2 悉尼)
oss-ap-southeast-3.aliyuncs.com(亚太东南3 吉隆坡)
oss-ap-southeast-5.aliyuncs.com(亚太东南5 雅加达)
oss-ap-south-1.aliyuncs.com(亚太南部1 孟买)
oss-ap-northeast-1.aliyuncs.com(亚太东北1 日本)
oss-me-east-1.aliyuncs.com(中东东部1 迪拜)
oss-eu-central-1.aliyuncs.com(欧洲中部1 法兰克福)
oss-eu-west-1.aliyuncs.com(英国1 伦敦)

测试页:https://ping.mf8.biz/

跟猫一起酸汤面系列:第12天 nRF24L01库试用

中间没有第10天和第11天,因为一直没有什么进展,也不想随意糊弄
串口通了后调试起来就相对方便了,起码能够通过串口日志看到系统的工作状态
同时找到一个相对来说看起来比较清晰的nRF的HAL库
其中提供了一个测试函数uint8_t NRF24L01_Check(void)感觉配合串口输出很有用
起码能够初步判断SPI配置是否正确,接线和IO配置是否正确,得到一个是否能和模块说上话的结果
期间也出现过两次意外,一次是串口不知道什么原因默认7bit,大量乱码,
另一次就是SPI不知道什么原因默认4bit,结果Check一直通过不,
采完几个坑后让两个模块工作起来还是蛮方便的,检查完模块后,一个进入RX状态,一个进入TX状态,然后就可以调用接口收发了
实验环境是,L011接了一个模块负责循环发送,田鸡F042接一个模块和串口负责接收和输出
效果不错,下面就是读库的代码了解收发过程了,总代码量不足400行,配合猫的文档一起消化

- 阅读剩余部分 -

跟猫一起酸汤面系列:第九天 串口中断

串口发消息容易,收消息可就不是那么容易了,据说有挺多种收法,
猫说有DMA不懂是啥,有中断,似乎还有轮询
忘了看的哪篇文章的分析了,只记得中断方式是每收一个字节中断一次,
每中断size次回调一次,当size=1时每字节回调一次

HAL_UART_Receive_IT(&hlpuart1,(uint8_t *)UART1_temp,REC_LENGTH);

等待中断回调,缓冲区和size的大小,这里是1

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if(huart->Instance==LPUART1)
  {
    UART1_Rx_Buf[UART1_Rx_cnt] = UART1_temp[0];
    HAL_UART_Receive_IT(&hlpuart1,(uint8_t *)UART1_temp,REC_LENGTH);
  }
}

串口接收中断回调函数,处理收到的数据和再次等待中断

跟猫一起酸汤面系列:第八天 串口入门

串口是个好东西,可以哗哗地输出芯片的工作状态,是哗哗地
串口输出很简单,定义了串口后定一个速率
然后引入#include "stdio.h"就有printf函数可以用了,但是还不能串口输出
重新定义一下putc就好啦,怎么会这么简单

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

如何通过串口接收数据呢,有待研究,现在起码可以从串口输出日志了

- 阅读剩余部分 -

跟猫一起酸汤面系列:第七天 SPI接线

第七天本来是休息日,所以作业也是混事儿,就写一下SPI的接线吧
spi.png

难得配了张图,打开了SPI接口,定义了CSN和CE,干嘛用的也不知道,还有增加一个外部中断的
再说一下nRF24L01模块的线序
天线
芯片 晶振
VCC CSN MOSI IRQ
GND CE SCK MISO

顺便说一下期望,一收多发,收有地址,发本身编号和状态给接收模块就可以,是否能实现还不是很明朗,困了,猫加油!