yy123xiang
码龄12年
关注
提问 私信
  • 博客:252,551
    252,551
    总访问量
  • 38
    原创
  • 1,800,083
    排名
  • 143
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广西
  • 加入CSDN时间: 2012-09-10
博客简介:

yy123xiang的专栏

查看详细资料
个人成就
  • 获得109次点赞
  • 内容获得138次评论
  • 获得693次收藏
  • 代码片获得489次分享
创作历程
  • 1篇
    2023年
  • 5篇
    2022年
  • 1篇
    2021年
  • 3篇
    2020年
  • 1篇
    2019年
  • 10篇
    2018年
  • 7篇
    2017年
  • 6篇
    2016年
  • 4篇
    2015年
成就勋章
TA的专栏
  • 算法
    1篇
  • 嵌入式开发
    13篇
  • 运动控制
    4篇
  • 电力电子
    3篇
  • Qt
    10篇
  • Python
    10篇
  • CAN
    9篇
  • lwIP
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Python调用多媒体定时器实现高精度定时

自己在使用Python实现一个周期执行的任务时,通常会用time.sleep()函数实现,但该方法能实现的最小周期只有30ms左右,且定时不够精确,大概有±5ms左右的跳动。该方法可满足绝大多数应用场景,但对某些实时性要求较高的应用场景则不适用。查阅资料得知,在Winmm.dll中提供的多媒体定时器可实现精度1ms的高精度定时,而且使用方法也颇为简单,只需要通过ctypes模块导入动态链接库并访问动态链接库中的函数即可。
原创
发布博客 2023.03.23 ·
812 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

STM32F303 USB不能发现识别设备

使用STM32CubeMX配置USB为虚拟串口生成工程编译下载至F303中,连接电脑后在设备管理器中不能发现设备,USB接口电路同之前正常使用的F405电路。查阅资料后知晓,USB总线需要上拉电阻来判断是否有设备连接,而F405中已内置了该上拉电阻,F303则没有,所以相同的电路在搭配F303时无法正常工作。翻看参考链接评论区时知晓,ST的USB外设有三种,USB FS Device,USB FS OTG和USB HS OTG,只有第一种需要外置上拉电阻。
原创
发布博客 2022.10.13 ·
4398 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

整数除255快速算法的完全不严谨推导

在浏览一个帖子C 语言有什么奇技淫巧?时,无意看到一个整数除255快速算法,其算法如下:对此算法已有人给出证明255快除算法的证明和推广,但对于我的数学水平而言,这个证明似乎比这个算法本身更难以理解。在此,仅列出自己的理解过程,且是完全不严谨的。算法展开式如下:x255=x28+x255∗28=x28+x216+x255∗216=x28+x216+x224+x232+x255∗232\frac{x}{255}=\frac{x}{2^8}+\frac{x}{255*2^8}=\frac{x}{2^8}
原创
发布博客 2022.06.07 ·
370 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

GD32F4上使用HAL库实现USB虚拟串口通讯

发布资源 2022.06.02 ·
zip

GD32 CAN搭配HAL库使用的问题

CAN初始化时,程序会在函数HAL_CAN_Init执行时报错,仿真发现是在等待初始化确认时超时导致。查阅了ST和GD的参考手册,二者对初始化确认位的描述并无差异,推测是GD的bug。ST的描述,见下图:GD的描述,见下图:对此,解决办法是屏蔽掉对初始化确认位的检测,需注释掉stm32f4xx_hal_can.c文件中的部分代码,如下: /* Wait initialisation acknowledge */// while ((hcan->Instance->MSR &.
原创
发布博客 2022.05.24 ·
2777 阅读 ·
6 点赞 ·
4 评论 ·
30 收藏

为Python程序添加桌面快捷方式

写了许多Python的程序,每次运行都要翻到程序所在的文件夹下打开命令行窗口,再输入python ***.py来运行程序,着实不方便。查了一下网上的资料,可以在桌面添加一个快捷方式,目标一栏填写python.exe的路径和py文件的路径,双击快捷方式即可运行,但运行的同时会伴随打开命令行窗口,可以通过将python.exe修改为pythonw.exe解决。见下图:为了美观还可以修改快捷方式的图标,点击上图的更改图标按钮,即可选择想要的图标。见下图:...
原创
发布博客 2022.05.16 ·
4327 阅读 ·
1 点赞 ·
2 评论 ·
7 收藏

使用STM32CubeIDE仿真时跳过芯片验证

使用STM32CubeIDE仿真时会读取芯片信息,若不是ST的芯片则会有错误提示,仿真将无法进行。STM32CubeIDE作为ST开发的自家工具仅供自家芯片使用无可厚非,但如果需要将ST的芯片替换为第三方的兼容芯片,将已有的CubeIDE工程移植到其他的开发环境工作量无疑大大的,此时,若有办法跳过芯片验证就好了。查阅了网上的资料,方法大致有两种,如下:STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB serverS
原创
发布博客 2022.05.06 ·
1750 阅读 ·
0 点赞 ·
2 评论 ·
7 收藏

GD32F4上使用HAL库实现USB虚拟串口通讯

一直使用STM32F4搭配HAL库做项目,最近需要将软件移植至国产的GD32F4上,但兆易仅提供了标准库,并未像ST那样提供HAL库,但二者USB库又互不兼容。最后,为了原软件不做大的修改,故决定使用ST的HAL库+兆易的USB库来实现。首先是USB库文件的准备,兆易官网可下载GD32F4xx_Firmware_Library,将Firmware\GD32F4xx_usb_library目录下的相关文件拷贝至工程目录中,并添加至工程中,文件目录结构如下图所示:另外,在Examples\USB\USB
原创
发布博客 2021.09.01 ·
6854 阅读 ·
6 点赞 ·
14 评论 ·
35 收藏

使用CANopen for Python发送SDO读取数据

最近打算用Python做一个CANopen的主站,在此使用CANopen for Python做了一个SDO读取数据的测试例程。其发送数据使用了python-can,可参考上一篇博文《调用python-can库使用周立功CAN接口卡发送数据》。以USBCAN-2E-U接口卡,500k波特率,发送SDO为例,代码如下:import canopenimport timenetwork = canopen.Network()network.connect(bustype='canalystii',
原创
发布博客 2020.06.25 ·
1673 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

调用python-can库使用周立功CAN接口卡发送数据

查阅python-can文档,知晓其支持部分周立功CAN接口卡,故写例程验证数据的发送。另外,使用的python版本为3.4,在安装python-can时提示找不到windows-curses对应版本的安装包,故在python-can的setup.py中,取消了windows-curses的安装依赖。代码如下(ControlCAN.dll需放置在相同路径下):from __future__ import print_functionimport platformimport candef sen
原创
发布博客 2020.06.24 ·
5309 阅读 ·
0 点赞 ·
1 评论 ·
32 收藏

Python调用周立功CAN接口卡接口库函数(接收数据)

上篇博文《Python调用周立功CAN接口卡接口库函数》仅做了发送数据例程,有网友在测试接收时出现了问题,在此给出自己的接收数据代码。在此需要强调的是,因为经济水平有限,自己所使用的CAN接口卡为第三方兼容周立功函数库的接口卡,经测试,第三方CAN接口卡VCI_Receive接收函数其参数WaitTime是无效的,即使该值为-1,也不会阻塞等待数据,若使用周立功原版接口卡则无此问题。以USBCAN-2E-U接口卡,1000k波特率,接收一帧数据并打印为例,代码如下:import platformim
原创
发布博客 2020.06.19 ·
4693 阅读 ·
2 点赞 ·
17 评论 ·
37 收藏

PyQt5学习笔记9_使用setStyle和setStyleSheet进行换肤

通过QStyleFactory.keys()可获取用于setStyle的有效值,本例程中包含了“Windows”,“WindowsXP”,“WindowsVista”,“Fusion”四种风格,此外,还使用了setStyleSheet对一款黑色主题“QDarkStyleSheet”进行加载,即可以在以上5种界面风格之间切换。效果如下:代码如下:import sysfrom os.path...
原创
发布博客 2019.02.07 ·
15068 阅读 ·
4 点赞 ·
10 评论 ·
40 收藏

使用STM32实现PMSM电机的正弦驱动

发布资源 2018.11.20 ·
zip

使用STM32CubeMX创建基于FreeRTOS的lwIP工程

发布资源 2018.10.15 ·
zip

使用STM32CubeMX创建基于FreeRTOS的lwIP工程

硬件平台:STM32F407VE+DP83848开发板STM32CubeMX配置:在Peripherals中对ETH的模式选择RMII,在Middlewares中勾选FREERTOS和LWIP,见下图:依据硬件环境自行对时钟进行配置,此处略。在LWIP Configuration中对lwIP进行相应的配置,将LWIP_DHCP设为Disable,IP_ADDRESS设为192.168.1...
原创
发布博客 2018.10.15 ·
8142 阅读 ·
1 点赞 ·
0 评论 ·
20 收藏

PyQt5学习笔记8_QTableView中回车进入下一单元格

帮同事实现一个在表格的输入过程中,敲入回车后自动进入下一单元格编辑状态的需求。在setData中发送信号并将下一单元格的坐标进行传递。代码如下:import sysfrom PyQt5.QtWidgets import (QApplication, QMainWindow, QTableView)from PyQt5.QtCore import (QAbstractTableModel, Q...
原创
发布博客 2018.09.28 ·
3117 阅读 ·
3 点赞 ·
0 评论 ·
12 收藏

TMS320F281x 串口烧写程序

参阅《TMS320F281x Boot ROM Serial Flash Programming》(文献编号:SPRAAQ2),使用其配套的CKFA工程(下载地址)通过串口对TMS320F281x进行程序烧写。 在使用串口烧写前,参照下表将GPIO配置为调用SCI_Boot来从SCI_A中加载。 给DSP上电后,在超级终端中敲一个字母“a”或“A”,SCI_Boot code将应答收到的字...
原创
发布博客 2018.09.01 ·
3050 阅读 ·
2 点赞 ·
0 评论 ·
10 收藏

HEX文件合并工具

发布资源 2018.06.22 ·
zip

基于PyQt5的HEX文件合并工具

最近时常需要合并HEX文件,趁着端午节的闲暇做了一个合并工具,界面如下: 简单介绍一下,使用IntelHex对HEX文件进行读写和合并操作;数据地址冲突时报错并终止合并;右键 -> 文件段落,显示segments方便了解文件结构;HEX文件的Start Linear Address重写为None;使用dropEvent实现HEX文件的拖放;qss定制黑色界面。 代码如下:# -*...
原创
发布博客 2018.06.22 ·
1342 阅读 ·
0 点赞 ·
1 评论 ·
8 收藏

CanFestival移植至战舰STM32F1开发板

发布资源 2018.06.13 ·
zip
加载更多