ucosiii 移植
最近想在 f429 上面使用 mdk526 版本的 IDE,配合 HAL 和ucosiii。考虑到的方法是对比 v7 开发板的 ucosiii 和裸机程序,找出需要修改的地方,然后对比 v6 开发板的 ucosiii 和 裸机程序,然后把相应的修改融合起来即可。
最近想在 f429 上面使用 mdk526 版本的 IDE,配合 HAL 和ucosiii。考虑到的方法是对比 v7 开发板的 ucosiii 和裸机程序,找出需要修改的地方,然后对比 v6 开发板的 ucosiii 和 裸机程序,然后把相应的修改融合起来即可。
android studio 初次使用的时候,也会碰到很多坑,详细如下:
lpwizard 有时候生成 allegro 封装的时候会生成 .psx 文件,这个文件其实是脚本文件,用于某些特殊形状焊盘的处理。 具体的使用方法如下:
这时候,一般文件夹里面就会生成相应的 ssm 文件,然后在 lpwizard 里面重新生成一次封装,这样封装才能调用新的 shape 文件,完成封装的生成。
如果碰到 _pad.scr 也可以这样做:
如果碰到 _pkg.scr 文件,可以这样做:
解决方法很简单,只要把信道设置到 10以内即可。
一般有以下两种方法:
1.
QVecotr<int> vec;
QString(QByteArray().setNum(vec.at(3)))
2.
float f;
QString("%1").arg(f)
在 qt 中想要把 qvector 转化为原始数据构成的数组,有几种方法:
double *bytes = new double[vec.size()];
for (int i = 0; i < vec.size(); ++i) {
bytes[i] = vec[i];
}
QByteArray array = QByteArray::fromRawData(reinterpret_cast<void*>(bytes));
delete []bytes;
使用 qvector 自带的 constData 和 data
QByteArray data = QByteArray::fromRawData(
reinterpret_cast<const char*>(vec.constData()),
sizeof(double) * vec.size()
);
QVector<double> vec;
QByteArray data;
QDataStream stream(&data, QIODevice::WriteOnly);
for (auto x : vec)
stream << x;
或者
QVector<double> vec;
// populate vector
QByteArray data;
QDataStream stream(&data, QIODevice::WriteOnly);
stream << vec;
调试 mcu 的时候,使用 jlink 的 rtt 可以方便的输出信息。
输出有两种模式, client 和 logger。 client 必须依附其他程序,比如说 mdk 调试状态,或者 logger 程序。
logger 可以不依附其他程序,但是 rtt 默认的代码只支持 client 的通道 0,想要使用 logger,需要修改代码,具体如下:
static SEGGER_RTT_CB _SEGGER_RTT = {
"SEGGER RTT",
SEGGER_RTT_MAX_NUM_UP_BUFFERS,
SEGGER_RTT_MAX_NUM_DOWN_BUFFERS,
{{ "Terminal", &_acUpBuffer[0], BUFFER_SIZE_UP, 0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP },
{ "Log", &_acUpBuffer1[0], BUFFER_SIZE_UP, 0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP }},
{{ "Terminal", &_acDownBuffer[0], BUFFER_SIZE_DOWN, 0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP },
{ "Log", &_acDownBuffer1[0], BUFFER_SIZE_DOWN, 0, 0, SEGGER_RTT_MODE_NO_BLOCK_SKIP }},
};
这段代码是给予 4.90e 的 rtt 代码,增加了一个通道,在调用 rtt 的时候,通道写 1 即可通过 logger 来输出了。
git reset --soft HEAD^
git reset --hard [commit_id]
注意: soft撤销可以保留已经修改的文件,hard 撤销完全恢复为指定的状态,抛弃已有的修改。
git push origin HEAD --force
git push origin --force
git commit --amend
git remote set-url origin [url]
git remote rm origin + git remote add origin [url]
git rm --cached readme1.txt 删除readme1.txt的跟踪,并保留在本地。
git rm --f readme1.txt 删除readme1.txt的跟踪,并且删除本地文件。
git checkout <old_name>
git branch -m <new_name>
参考: https://linuxize.com/post/how-to-rename-local-and-remote-git-branch/
git log
git reset --hard commit_id
如果要回到未来版本,运行下面命令获得未来的 commit_id
git reflog
参考: https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192 https://blog.csdn.net/yxys01/article/details/78454315
S曲线经常用于步进电机的加减速。具体的计算公式需要经过一定的转换才能称为程序能用的。
查看防火墙状态
systemctl status firewalld 或者 firewall-cmd --state
systemctl stop firewalld
3. 开启防火墙
systemctl start firewalld
4. 增加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=12345/tcp --permanent
5. 重新加载
firewall-cmd --reload