2020-11-23-第12周开发日记

第12周开发日记

2020-11-23

完成了算力机的部署后尝试开始一次编译

SWD接线

最小系统板往往只会有4个接口,按照SWD的标准,其实只需要三根线

image-20201124004758637

然后为了增加可用性就增加了VCC

烧录一次后就单片机不能通信了?

因为又忘记配置sys的debug了

image-20201124005657144

其次,单片机通信超时问题得到解决,源于以前看过的安装教程的博客

timed out while waiting for target halted embedded:startup.tcl:439: Error: ** Unable to reset target **

image-20201124010020865

至于的确出现了问题怎么救

两次这个问题的答案不相同,如果完全连不上板子就按着reset按键在unity连接

如果还连得上烧不进就unity里低电压模式连接擦除

图床上传一体化

今天的图全靠PicGo和Typora合作

image-20201124010255785

image-20201124010332715

11.25

今天开始配置调试好生产力环境,把软件插件更新好

然后稍微了解了一下PWM的实际意义

通过改变空占比->改变最大电压输出的时间(每次输出电压相同时间不同)->改变平均电压大小->改变外电路功率

然后配置了一下板子,准备明天的串口十六进制测试

image-20201125003323184

11.26

遇到了一个老问题

"C:\Program Files\JetBrains\CLion 2020.2.3\bin\cmake\win\bin\cmake.exe" --build D:\stm\rgblight\cmake-build-debug --target rgblight.elf -- -j 12
[  3%] Linking C executable rgblight.elf
AR19DD~1.EXE: error: Core/Src/deal.c: No such file or directory
AR19DD~1.EXE: error: Core/Inc/deal.h: No such file or directory
mingw32-make.exe[3]: *** [CMakeFiles\rgblight.elf.dir\build.make:455: rgblight.elf] Error 1
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:95: CMakeFiles/rgblight.elf.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:102: CMakeFiles/rgblight.elf.dir/rule] Error 2
mingw32-make.exe: *** [Makefile:137: rgblight.elf] Error 2

image-20201125135220201

解决方法比较粗暴

先试试重载cmake,不行就重开项目,在创建项目时必须让Clion打开stm32cubeMX

如果stm32cubeMX要管理员运行,就让Clion也管理员运行

同时也发现自己看漏了一行关键代码

HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);

11.27

改好了255色的等效电流参数

似乎给二极管接330欧电阻还是电流太小,明天试试看接更小的

把博客的评论和音乐功能给修了一下

image-20201126161925906

image-20201126162043191

不过看来也可以在有空的时候升级一下博客的底层主题的支持了

11.28

板子莫名其妙会连不上,按着reset也连不上

问题的原因嘛

外设吃了电把核心低功耗启动了

今天还尝试着安装了tensorflow

之前的思考是在VM里装,但是因为VMware Station pro并不支持pcie直通,所以显卡的CUDA核心全部不能用

有办法吗?

有的:vmware esxi

但是我似乎不想如此复杂的部署,所以就直接在windows上开个conda(python=3.7,3.8不行)

然后:

conda install -c anaconda tensorflow-gpu

紧接着报错了

AttributeError: module 'tensorflow' has no attribute 'compat' when importing tensorflow

而且还不是我一个人的问题

image-20201128163901595

image-20201128163922178

好了,可以完成测试了

测试代码:

import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)

结果:

2020-11-28 13:45:03.076688: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 2578 MB memory) -> physical GPU (device: 0, name: P106-090, pci bus id: 0000:04:00.0, compute capability: 6.1)
2020-11-28 13:45:03.078404: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 1367 MB memory) -> physical GPU (device: 1, name: GeForce GTX 750 Ti, pci bus id: 0000:03:00.0, compute capability: 5.0)
>>>
>>> model.compile(optimizer='adam',
...               loss='sparse_categorical_crossentropy',
...               metrics=['accuracy'])
>>>
>>> model.fit(x_train, y_train, epochs=5)
Train on 60000 samples
Epoch 1/5
2020-11-28 13:45:04.117577: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
60000/60000 [==============================] - 5s 82us/sample - loss: 0.2971 - accuracy: 0.9138
Epoch 2/5
60000/60000 [==============================] - 4s 69us/sample - loss: 0.1427 - accuracy: 0.9581
Epoch 3/5
60000/60000 [==============================] - 4s 69us/sample - loss: 0.1076 - accuracy: 0.9676
Epoch 4/5
60000/60000 [==============================] - 4s 69us/sample - loss: 0.0897 - accuracy: 0.9721
Epoch 5/5
60000/60000 [==============================] - 4s 71us/sample - loss: 0.0746 - accuracy: 0.9764
<tensorflow.python.keras.callbacks.History object at 0x0000024D81CEC288>
>>> model.evaluate(x_test, y_test)
10000/10000 [==============================] - 1s 69us/sample - loss: 0.0794 - accuracy: 0.9739
[0.07940292877452448, 0.9739]
>>>

11.29

今天的日志是关于RGB灯的完成

遇到的各种奇怪的问题甚是多

1.一是蓝牙突然串口怎么连不上,但是最后发现可能的确是串口坏了,即使他的指示灯是正常的

2.二是PWM没反应

这个问题和我看少一行代码有关系

HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);//启动PWM使能

3.PWM怎么测

以前觉得这个只能用示波器测

用万用表交流档测是可以测到有效值的

pwm控制的电压有效值,通过交流电表可以测出变化量的有效值

也可以通过交流电表来测量电压是否有变化

当然有局限性,仅限电压变化速度不快的情况,超过了电压表的采样速度的话也没有用

From:嘉鹏

4.RGB灯的颜色不对

其实和它的电流有关系

不接电阻就比较正常(虽然这样这个灯容易烧,板子也容易烧)

posted @ 2023-09-17 19:19  Yecgaa1  阅读(73)  评论(0)    收藏  举报