- 博客(7)
- 收藏
- 关注
原创 可控硅控制AC马达算法
根据过零点(需要IO支持双边沿中断)调整驱动的时间来调整转速。比如市电频率为60Hz,则半周期为8.3ms。50Hz,半周期为10ms。低电平触发可控硅,在过零时触发信号丢失,所以不用一直驱动。
2024-08-01 14:47:02
281
原创 单片机bootloader+app共用函数固定在一个位置 调用
使用共用函数:在bootloader和app中的代码中,通过调用共用函数的地址来使用它们。为了保证调用的正确性,可以在bootloader和app的代码中分别定义一个函数指针,指向共用函数的地址。在bootloader启动时,将共用函数的地址赋值给bootloader的函数指针;在app启动时,将共用函数的地址赋值给app的函数指针。定义共用函数:在bootloader和app的代码中,分别编写对应的共用函数。确定共用函数的位置:在单片机的内存中选择一个固定的地址作为共用函数的位置。
2024-07-31 16:18:55
591
原创 51单片机用UART口升级APP程序-----BootLoader程序详解
1.自定义协议,规定一定时间内串口是否接收到指定字符用于需要升级请求,否则跳转到正常APP程序。0x03为下一条序列,单片机接收内容后将其写入flash里再发送接收下一条序列的指令。本程序规定30ms之内接受到0xAA 和 0xBB即可认为单片机有需要升级程序请求。其中接收后发送0xAA和0xCC字符是告诉上位机握手成功可以进行下一步操作。0x0A为上位机发送结束操作码,告诉单片机已经没有序列数。0x02为接收后需要返回的应答,单片机发送应答给上位机。0x0B为单片机发送是否成功操作码给上位机。
2024-07-31 15:02:02
846
1
原创 51单片机实现BootLoader功能
具体以使用单片机的中断源数量为基准有多少修改多少,比如这里将0x0003 INT0向量的地址跳转到0x1000地址(APP区地址)。4.实现以上2个项目的创建即可在51单片机上实现BootLoader功能,当然还要编写上位机来导入我们的hex文件,具体详细将在以后讲解说明。本文以中颖51单片机为例实现BootLoader功能,该单片机硬件资源RAM为 1KB,ROM为16KB。1.Flash资源划分,前4KB为BootLoader区,地址为。b.修改A51启动文件,如下图所示将启动地址修改为0x1000。
2024-07-31 11:43:19
2270
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人