- 博客(37)
- 资源 (4)
- 收藏
- 关注
原创 Matlab 基础<五> :Simulink 功能Package for Android
捣鼓半天,做了各种尝试,替换SDK、更新最新版本的AS,都未解决问题。考虑到安装Simulink Support Package 前已经安装有Android Studio,存在SDK或者gradle版本兼容导致异常,于是重新卸载删除了所有安装信息。重新安装了AS,并按要求完成了对应的配置。注意:帮助文档里提到的操作方法与实际需要安装的版本是不一致的,安装时需要关注这个不同点。安装Android Studio,这里安装默认版本,即Tested Version。安装完成,选择安装路径,并确认Verified。
2024-02-23 12:54:35
628
原创 单片机模拟IIC和SPI: 调试RTC(RX8010) 和Flash(GD25Q128)
应开发需求,在单片机BA45F5260调试模拟I2C和SPI。该单片机为合泰8位专用型单片机,主要应用于烟雾报警器。因UL标准认证需求,本测试板主要用于认证过程数据收集,同时为了更好的时间对应关系,固增加RTC和Flash。
2023-05-18 11:19:36
1056
原创 FreeRTOS基础(四):任务创建和切换
FreeRTOS 为了任务启动和任务切换使用了三个异常:SVC、PendSV 和 SysTick。SVC(系统服务调用)用于任务启动,有些操作系统不允许应用程序直接访问硬件,而是通过提供一些系统服务函数,通过 SVC 来调用;PendSV(可挂起系统调用)用于完成任务切换,它的最大特性是如果当前有优先级比它高的中断在运行,PendSV 会推迟执行,直到高优先级中断执行完毕;SysTick 用于产生系统节拍时钟,提供一个时间片,如果多个任务共享同一个优先级,则每次 SysTick 中断,下一个任务
2022-01-20 11:49:59
1635
原创 FreeRTOS基础(三):中断优先级配置和临界区
一、STM32中断优先级1.1 Cortex-M有3个固定优先级(Reset、NMI、Hard Fault 优先级为负数)和256个可以编程优先级,最多128个抢占优先级。而STM32拥有16个优先级即高4bit,此为IC设计即硬件决定。 优先级分组:AIRCR寄存器配置PRIGROUP段位。STM32支持5组优先级分组设置:1.2 中断优先级配置,函数原型如下:SCB->AIRCRHAL_NVIC_SetPriorityGrou...
2022-01-18 19:34:52
2992
原创 LoRa学习<三>:CAD模式实验
平台:两台NUCLEO-WL55JC1开发板,即STM32WL55方案,内置LoRa射频SX1261的SOC。内容:两台设备上电后进入Rx Duty Cycle模式,操作其中一台设备发送数据"LoRa_CAD",接收 到另一台的回复数据“ACK”后,双方都再次进入Rx Duty Cycle模式;一、CAD监听(Channel Activity Detection ) 1.1 SX126X之前的产品,只提供对Preamble检测的功能,SX126X系统提供了对C...
2021-09-24 17:53:17
8048
7
原创 LoRa学习<二>:Rx Duty Cycle模式实验
平台:两台NUCLEO-WL55JC1开发板,即STM32WL55方案,内置LoRa射频SX1261的SOC。内容:两台设备上电后进入Rx Duty Cycle模式,操作其中一台设备发送数据"LoRa_Test",接收 到另一台的回复数据“ACK”后,双方都再次进入Rx Duty Cycle模式;1、SetRxDutyCycle函数参数2、Rx Duty Cycle工作时序• The chip is looking for a preamble in either...
2021-09-18 16:36:48
3127
原创 LoRa学习<一>:基本参数和数据格式
一、与硬件相关参数首先打开LoRa计算工具:SX1272CalculatorUI.exe,该工具主要用于分析和计算LoRa传输参数设定,以此得出所选方案的空中速率、功耗等特征。1.1 Spreading Factor(SF扩频因子)根据数据semtech数据手册,SF值越大,SNR值越理想。但同样的数据量情况下,实际有效数据会减小。实际原因是数据每一位都和扩频因子相乘。例如有一个1 bit需要传送,假如扩频因子有8位 10101010, 这样乘出来每一个bit位都由一个8位的数据来表
2021-09-08 19:21:13
4035
原创 P-Nucleo-LRWAN2开发板LoRa调试记录<一>
基于P-NUCLEO-LRWAN2(868M)在腾讯云测试实例。SX1276和SX1278,二者封装一致,应用电路有细微差别,前者面向的是欧美市场(频段137-1020MHz),后者面向中国市场(频段137-525MHz)。除此之外SX1262也是一款比较流行的LoRa终端芯片,它的体积比上面的两款更小,支持的频段为150-960MHz,发射功率更高,被很多应用者所选择。除了终端芯片以外如果要组成LoRaWAN还需要网关芯片,SX1301就是semte...
2021-08-24 11:14:25
595
原创 FreeRTOS基础(二):STM32G4系列运行FreeRTOS驱动8路PWM波控制多个路舵机
一、TIM1和TIM2配置,基于STM32CubeMXHCLK主时钟配置成72MHz二、8路PWM初始化配置
2020-05-09 11:43:55
3560
2
原创 FreeRTOS基础(一):STM32G4系列运行FreeRTOS
一、源码下载 1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Github,下载方式参考如下:https://www.freertos.org/a00104.html 2、GIthub下载旧版本 (无需登录,游客下载) ...
2020-05-06 20:09:49
1833
1
原创 STM8S007C8输入捕获:RF灵敏度测试治具
一、治具需求1、应工厂产线测试RF(无线烟感设备)灵敏度需求,需要开发一个RF灵敏度测试的治具。2、配合信号发射器,让烟感设备进入RX模式,将RF数据DATA(接收到信号设备发射器的信号,通常为PWM输出)引出到IO口。再通过治具将DATA脚信号当输入捕获,解析PWM信号的频率和占空比来判断灵敏度。二、功能实现1、STM8S007硬件连接 TIM1 的chann...
2020-04-24 21:01:32
583
原创 MicroPython基本知识(一):环境搭建和固件更新
一、固件更新 工具:DfuSe_Demo_V3.0.2_Setup_amd64,64位系统安装 1、将B0和3V3两个pin脚跳帽短接,再上电会弹出STM 对应的Device 2、选择对应的dfu文件,最后选择Upgrade即可 二、检查固件是否升级成功 工具:putty.exe,免安装 ...
2020-04-21 14:38:55
1609
1
原创 C#记录(十一):串口上位机实例之二
一、C# Graphics绘制上一篇有介绍:Chart绘图存在的问题:当显示的数据量很大,达到上万数据时,整个winform窗口变得卡顿。固决定用Graphics重新绘制同台曲线图。1.1 绘制坐标轴 public Bitmap drawCurve(int[] X_array, float[] Y_array, int X_Localtion, int Y_Loca...
2020-04-17 19:07:37
559
原创 按键实例,实现(短按、长按、双击,三击,四击。。。)
#ifndef _KEY_H_#define _KEY_Htypedef enum{ KEY1_TEST = 0x01, KEY2_PRE = 0x02, KEY3_NEXT = 0x04, KEY_DEFAULT = 0x80,}KEYValue;typedef enum{ TYPE_NONE = 0x00, TYPE_SHORT = 0x01, TYPE_CONTI...
2020-04-09 12:17:21
470
原创 单片机开发简单实现printf函数
1、编译器不支持printf函数条件下,可自己实现printf函数;2、实现方式如下: #include "usart.h"typedef char *va_list;#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(char) - 1) & ~(sizeof(char) - 1) )#define va_start(a...
2020-04-09 11:48:08
538
原创 C#记录(十):串口上位机实例之一
一、运行效果图1、开关串口2、波特率选择3、串口数据处理(目前对应的是报警器设备,抓取的数据有:红外传感器和CO传感器、以及设备NTC温度值)4、所有串口接收字串5、四个Series显示,代表各自的电压值;6、可以选择显示或者隐藏对应的Series二、程序讲解1、整个winform程序包含的方法并不多,如下:因并为学习Java或C++等语言,所以整个代码里有很...
2020-04-09 11:31:03
2051
1
原创 C#记录(九):选择对话框
一、按键按下弹出对话 #region 显示帮助信息 button 4 private void button4_Click(object sender, EventArgs e) { label_help.Text = ""; DialogResult MsgBoxResult;//设置对话框的返回值...
2020-04-09 10:54:25
582
原创 C#记录(八):保存数据到txt文本
一、获取当前路径 转载https://www.cnblogs.com/shiyh/p/10573405.html //获取模块的完整路径。 2 string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;...
2020-04-09 10:51:12
4437
原创 C#记录(七):Winform程序关闭方式
C#中WinForm程序退出方法技巧总结一、关闭窗体在c#中退出WinForm程序包括有很多方法,如:this.Close();Application.Exit();Application.ExitThread();System.Environment.Exit(0);等他们各自的方法不一样,下面我们就来详细介绍一下。1.this.Close();只是关闭当前窗口,若...
2020-04-09 10:50:02
338
原创 C#记录(六):chart使用之绘制曲线
一、Chart属性(控制自适应窗口Anchor属性)1、series 1.1 series.ChartType = SeriesChartType.Spline; //数据图类型 Point 点图 FastPoint 快速点图类型 Bubble 气泡图 Line 拆线图 Spline 样条图 S...
2020-04-09 10:49:37
2102
原创 C#记录(五):delegate使用
一、一个实例在C#中,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提供了Invoke的方法,其作用就是让子线程告诉窗体线程来完成相应的控件操作。要实现该功能,基本思路如下: 把想对另一线程中的控件实施的操作放到一个函数中,然后使用...
2020-04-09 10:44:02
183
转载 C#记录(四):放弃Stop()、Suspend()和Resume()
一、不安全的Stop()、Suspend()和Resume()1.即刻停止run()方法中剩余的全部工作,包括在catch或finally语句中,并抛出ThreadDeath异常(通常情况下此异常不需要显示的捕获),因此可能会导致一些清理性的工作的得不到完成,如文件,数据库等的关闭。2.会立即释放该线程所持有的所有的锁,导致数据得不到同步的处理,出现数据不一致的问题。public c...
2020-04-09 10:34:57
1360
原创 C#记录(三):List泛型
一、泛型实例using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) ...
2020-04-09 10:33:08
142
原创 C#记录(二):基本方法
一、#region和#endregion注释使用二、Listbox、richtextbox和textbox2.1 Listbox:列表框,可以添加文本输出,只能以行输出,若想要一行数据自动换行,只能通过计算宽度来Add多次,文本不可以自动换行,但是每行可以添加颜色。滚动到最底行:listbox.TopIndex = this.listbox.Items.Count - (in...
2020-04-09 10:32:35
198
原创 C#记录(一):搭建环境和建立工程
一、新建工程二、基本控件使用引用命名空间,直接使用命名空间包含的变量名和函数即方法。2.1 Label控件:位置、Text修改2.2 comboBox控件使用,如显示COM口,波特率;2.3 serial控件SerialPort类位于System.IO.Ports命名空间下。用于控制串行端口文件资源,此类提供同步I/O和事件驱动的I/O、对管脚和中断...
2020-04-09 10:26:17
239
原创 STM8L052C6硬件I2C调试:PCF8563/BM856时钟芯片
网上基本都提倡用软件模拟I2C,之前读温湿度传感器也是用模拟的。这次有时间和机会再次用上I2C,固决定用硬件I2C调试下,目前看来没有问题,读写设备都正常。一、注意事项 1、I2C硬件上需要外部上拉,单纯软件上拉不行。 2、如连续读个字节如8563的second~years数据共7 bytes,中间需要delay。否则只能成功读取前两个byte, clock会断掉。具体...
2019-07-01 19:49:21
2294
原创 STM32开发记录一: 外部中断之软中断SWI使用
一、SWI使用 1、学习FreeRTOS过程中需要软件产生一个中断,stm32提供了很好的方法。直接调用EXTI_GenerateSWInterrupt()即可。二、具体参考如下: 1、exti配置,假定用EXTI_Line2 (EXTI_Linex where x can be (0..19))#include "exit.h"void ExitC...
2018-11-10 12:55:24
10216
原创 STM8开发记录二:UART RX空闲中断和DMA操作
一、用STM8L的时候,没能在同时读取Rx中断和IDLE中断标志,最后用DMA取数据,见 (三、DMA实现数据拷贝): 1.1 uart配置void UsartConfig(void){// USART_DeInit(USART1); /* Enable USART clock */ CLK_PeripheralClockConfig(CLK_Periphera...
2018-11-10 12:33:36
4878
1
STM32Cube_FW_WL_V1.1.0_Test.rar
2021-12-23
STM8L052C6_pro.rar
2019-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人