跳至主要内容

博文

目前显示的是 八月, 2019的博文

synology安装Part-DB全过程

Synology安装Part-DB全过程 安装过程 0.安装webstation,MariaDB,Phpmyadmin,php7 1.github下载zip包 2.上传到webstation的www目录,并解压。eg:part-db 3.web访问http://xxxxxxx/part-db,url自动跳到part-db/install.php 假如出现500 error,先去web station的PHP设置中,找到对应的PHP版本,然后打开编辑,确认gettext和pdo_mysql已经被打开了。如果不开,肯定出500错误。 4.用phpmyadmin新建一个用户和一个数据库,eg:都叫part-db 难点来了: install.php填好信息后继续,总是报错,提示no such file 原因分析: Part-DB是通过sock连接MariaDB数据库的,这个配置是在php.ini中的,通过phpinfo()可以看到,就是pdo_mysql.default_socket的值,原来是/run/mysqld/mysqld.sock 但MariaDB在synology中的sock文件位置不是php.ini默认的那个值,而是mysqld10.sock(就多了个“10”……),因此php就找不到sock文件了,所以才报错no such file 知道原因了,那么只要搞定3个事情就能解决这个问题了: 1.找到MariaDB的这个sock文件在Synology的哪个目录 只要在phpinfo显示的pdo_mysql.default_socket的值"/run/mysqld/mysqld.sock"里面的文件名加个“10”改为"/run/mysqld/mysqld10.sock" 2.找到PHP7的php.ini文件在Synology的哪个目录 /var/packages/PHP7.2/target/misc/php-fpm.ini  3.把php.ini的pdo_mysql.default_socket改成mysqld10.sock 参考资料: [1]https://learnku.com/laravel/t/2851/seek-help-sqlstate-hy000-no-file-or-2002

Synology升级DSM 6.0以后不能再用root的解决办法

升级DSM 6后出于安全目的,root就不能再使用了,但有时还需要用到root或su,比如修改php.ini等只读文件。原来一个su就搞定的事情,现在却没办法了,这不是急死人么。好在找到方法了: 用administrator组的一个账户,登录ssh,然后: sudo -i 输入这台sysnology上的admin的密码 此时你就是root啦!

用PWM输出控制直流有刷电机、舵机

控制原理: 用STM32的定时器的PWM Generation功能,来生成特定频率、不同占空比的PWM信号。 通过设定定时器的时钟、定时器的PSC和ARR来确定出信号的频率,然后通过设置CCRx的值来确定占空比。 直流电机: 确定好频率、确定好占空比 舵机: 频率是固定的,50Hz,也就是每个周期为20ms。高电平1.5ms时是舵机角度中位。范围在0.5ms到2ms之间,但要配合示波器来实测,因为不同舵机这个数值不一样。 PWM信号的频率和占空比,最好用示波器去测试,以便调整代码。

STM32的CAN模块的4个模式

正常模式 normal 无图,看了下面3个,就能脑补出正常模式的框图了。 静默模式 silent 环回模式 loopback 环回静默模式 loopback combines with silent

用USB串口给STM32F103C8T6开发板烧写程序

主角是这个,蓝药片 Blue Pill 一直搞arduino,把很多东西都快给忘了。 STM32F103C8T6的这块蓝药片(blue pill)开发板,淘宝才10元。第一次接触stm32,不知道需要专门买st-link烧写器,后来才知道,就买了一个st-link v2,很便宜。 st-link是通过swim这个单线引脚来烧写和在线调试的,具体咋用还不知道,但手里USB-TTL的串口适配器一大堆,终于搞明白怎么给stm32烧写程序了,记录一下: 这块芯片,出厂都是带bootloader的,支持通过uart擦写flash,用芯片的UART1,TX和RX引脚如下: 对应到开发板上,USB-TTL适配器的TX接A10,RX接A9,GND与开发板的GND连好,一共3条线。开发板用USB口供电。 烧写flash用的是stm官方的软件STM32 Flash loader demonstrator (UM0462),在这里下载: https://www.st.com/zh/development-tools/flasher-stm32.html 安装好后,将开发板上的第一个跳线帽挪到1上,也就是构成(1,0)的boot设置,然后把usb串口适配器插到电脑上,开发板也用USB供好电后,打开刚才装好的flash loader软件,第一个界面com口选好,然后直接next,会出检测到芯片的界面,然后再next是一个表格页面,不用管继续next,此时可以选擦除还是烧写文件,选build好的hex文件就可以完成烧写了。最后这点写的有点简单,没有截图,但到这里应该就很容易理解和操作了。 总结: 准备好hex文件 准备好USB串口适配器 将USB串口适配器和开发板之间的3根线连好 2个设备都插USB 打开Flash Loader软件 选COM口,选文件,烧写 烧写成功后,别忘了把3根线断开,boot跳线帽恢复到(0,0)

STM32CubeIDE中生成HEX文件的方法

好吃的蓝药片 使用STM32CubeIDE时(不是CubeMX),默认在debug文件夹中不生成hex文件,但是用STM官方的STM32 Flash loader demonstrator需要有hex文件啊,不然烧写啥呢。所以需要添加1个post-build的参数,方法如下: 在stm32Cube里,左侧栏中project上右键选属性(properties) 然后在post-build steps的command处输入: && arm-none-eabi-objcopy -O ihex "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" && 然后apply保存后,直接build,在debug文件夹中就会生成hex文件了。 注意,要是build报错,应该是复制上面命令行参数时双引号字符有问题,可以手敲一下,不用担心。 我是在这个帖子里找到答案的: http://www.openstm32.org/forumthread925

3.5mm音频接口母座学习

今天要做音频座选型,突然懵了,发现好像完全看不懂,而且我还有一个非常普通的需求,就是一个3.5mm音频座,插入音频线(也可以看做耳机线)之前用自带扬声器播放声音,插入后声音就转到了音频线(耳机)上,最后看到了一篇很好的文章,写的非常清楚,记录一下: understanding-audio-jack-switches-and-schematics 几张主要的图,一看就明白了: 公头插入母座后