<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jstaxi的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/jstaxi</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; jstaxi]]></copyright><item><title><![CDATA[波形长草怎么办？]]></title><link>https://blog.csdn.net/jstaxi/article/details/106320695</link><guid>https://blog.csdn.net/jstaxi/article/details/106320695</guid><author>jstaxi</author><pubDate>Sun, 24 May 2020 21:00:36 +0800</pubDate><description><![CDATA[准备做一个电池供电的便携式电疗按摩器。原理为：stm8l152c6单片机的dac通过三极管接入铁氧体变压器（目前用一个usb充电器的变压器代替）3.3v升压到峰值70v。未接入变压器时波形为方波如下图。

但是接入变压器后图形长草了如图





变压器且输出的波形为下图，也挺奇怪的，问题在哪里？



请高手指教。
这是为什么？怎么改进？


...]]></description><category></category></item><item><title><![CDATA[STM8L的DAC能跑多快（二）]]></title><link>https://blog.csdn.net/jstaxi/article/details/106254873</link><guid>https://blog.csdn.net/jstaxi/article/details/106254873</guid><author>jstaxi</author><pubDate>Thu, 21 May 2020 13:12:47 +0800</pubDate><description><![CDATA[上一篇，为带buff测试的速度。

https://mp.csdn.net/console/editor/html/106254693

这次为直接输出输，频率为：236k。



void CLK_set(void)
{ 
 CLK_DeInit();
 CLK_HSEConfig(CLK_HSE_OFF);
 //启动LSI时钟源
 CLK_LSICmd(ENABLE);
 //使能时钟切换
 CLK_SYSCLKSourceSwitchCmd(ENABLE);
 //选择内部低速...]]></description><category></category></item><item><title><![CDATA[STM8L的DAC能跑多快（一）]]></title><link>https://blog.csdn.net/jstaxi/article/details/106254693</link><guid>https://blog.csdn.net/jstaxi/article/details/106254693</guid><author>jstaxi</author><pubDate>Thu, 21 May 2020 13:03:32 +0800</pubDate><description><![CDATA[最近做了一个试验。这次了lstm8l152c8t6的dac到底能跑多快？

下面是dac带buff的代码。带buff可以提高io的驱动能力。感觉可以提高10-20%的峰值输出电压。但是buff最大，最小输出电压无法做到轨到轨（电源和地）。IAR调试状态，我用示波器实测为117.6khz。

void CLK_set(void)
{ 
 CLK_DeInit();
 CLK_HSEConfig(CLK_HSE_OFF);
 //启动LSI时钟源
 CLK_LSICmd(ENABLE);
 /...]]></description><category></category></item><item><title><![CDATA[stm8设置每日闹钟]]></title><link>https://blog.csdn.net/jstaxi/article/details/105884614</link><guid>https://blog.csdn.net/jstaxi/article/details/105884614</guid><author>jstaxi</author><pubDate>Fri, 01 May 2020 23:30:42 +0800</pubDate><description><![CDATA[一般情况下，设定好的闹钟都只能中断响应一次。如果删除下面红色的代码，就可以设定成每天都响。

void setAla(int hour,int minute ){ 
   RTC_AlarmStr.RTC_AlarmTime.RTC_Hours  = hour;
   RTC_AlarmStr.RTC_AlarmTime.RTC_Minutes = minute;
   RT...]]></description><category></category></item><item><title><![CDATA[stm8 闹钟设定时死机]]></title><link>https://blog.csdn.net/jstaxi/article/details/105884446</link><guid>https://blog.csdn.net/jstaxi/article/details/105884446</guid><author>jstaxi</author><pubDate>Fri, 01 May 2020 23:22:50 +0800</pubDate><description><![CDATA[stm8 闹钟设定时死机，关闭看门狗就不死机。最后发现库函数有bug。

在库函数stm8l15x_rtc.c中加入下面红色代码。其实原理很简单，等待寄存器设置完成的时候，超时了。。

ErrorStatus RTC_AlarmCmd(FunctionalState NewState)
{
 __IO uint16_t alrawfcount = 0;
 ErrorStatus status ...]]></description><category></category></item><item><title><![CDATA[stm8无法读取亚秒SubSecond]]></title><link>https://blog.csdn.net/jstaxi/article/details/105883277</link><guid>https://blog.csdn.net/jstaxi/article/details/105883277</guid><author>jstaxi</author><pubDate>Fri, 01 May 2020 21:59:44 +0800</pubDate><description><![CDATA[调用库函数读出的数据为零。后来发现，是因为我用的是stm8l052c6t6。stm8l052c6 没有ss_rx寄存器不能读亚秒.

uint16_t RTC_GetSubSecond(void)//stm8l052c6 没有ss_rx寄存器不能读亚秒
{
 uint8_t ssrhreg = 0, ssrlreg = 0;
 uint16_t ssrreg = 0;

 /* Get su...]]></description><category></category></item><item><title><![CDATA[stm8 pwm停止时电平的设定]]></title><link>https://blog.csdn.net/jstaxi/article/details/98595852</link><guid>https://blog.csdn.net/jstaxi/article/details/98595852</guid><author>jstaxi</author><pubDate>Tue, 06 Aug 2019 11:01:29 +0800</pubDate><description><![CDATA[在用pwm驱动蜂鸣器的开发中，pwm停止输出后一直处于低电位，这样蜂鸣器虽然不工作却仍然消耗70mah的电流。所以设置pwm结束后电平非常重要。我采用的办法和网上其它方法有所不同：

1.在pwm初始化时一定要设置gpio的状态。你设置的初始状态将决定pwm结束的状态。

 GPIO_Init(GPIOD, GPIO_Pin_5 , GPIO_Mode_Out_OD_HiZ_Slow);//初...]]></description><category></category></item><item><title><![CDATA[STM8 开发故事--之蜂鸣器 BEEP设计简单的音乐（三）]]></title><link>https://blog.csdn.net/jstaxi/article/details/93618537</link><guid>https://blog.csdn.net/jstaxi/article/details/93618537</guid><author>jstaxi</author><pubDate>Tue, 25 Jun 2019 14:35:30 +0800</pubDate><description><![CDATA[STM8 开发故事--之蜂鸣器 BEEP设计简单的音乐（三）

虽然我也不识音律。但是不妨碍我欣赏音乐。

要让单片机和蜂鸣器发出音乐必须知道音调和节拍的概念。

音调就是声音的频率，节拍就是这个频率保持的时间。通过对音调和节拍的不同组合就会发出音乐，至于是否悦耳动听则另当别论。

频率可以通过TIM1_TimeBaseInit(2,TIM1_CounterMode_Up,240,0); 函数来设...]]></description><category></category></item><item><title><![CDATA[STM8 开发故事--之蜂鸣器 BEEP设计更好的解决方案（二）]]></title><link>https://blog.csdn.net/jstaxi/article/details/93616329</link><guid>https://blog.csdn.net/jstaxi/article/details/93616329</guid><author>jstaxi</author><pubDate>Tue, 25 Jun 2019 13:44:26 +0800</pubDate><description><![CDATA[STM8 开发故事--之蜂鸣器 BEEP设计更好的解决方案（二）。

上一节，讲到stm8l152的beep引脚因为与swim共享，造成开发和生产都不方便。有没有其他解决方案那，肯定有。

1.换mcu。

2.换另一个引脚。用有源蜂鸣器。这设计软件简单，但是电路复杂。

3.换另一个引脚，用pwm驱动。可以直接驱动无缘蜂鸣器。

我当然选择第3个方案。用stm8的定时器1 timer1做信号源。...]]></description><category></category></item><item><title><![CDATA[STM8 开发故事--之蜂鸣器 BEEP设计坑爹的引脚（一）]]></title><link>https://blog.csdn.net/jstaxi/article/details/93590080</link><guid>https://blog.csdn.net/jstaxi/article/details/93590080</guid><author>jstaxi</author><pubDate>Tue, 25 Jun 2019 09:12:44 +0800</pubDate><description><![CDATA[STM8 开发故事--之蜂鸣器 BEEP设计坑爹的引脚

为什么选stm？

最近才又开始搞stm8开发。虽然以前从来没用过stm的产品，但是stm在嵌入界鼎鼎大名可是早有耳闻。据某IC供应商提供的数据当今（2019年）56%的MCU都是stm的。要说为什么这么火，最直接的原因：便宜而且功能强大。淘宝上stm8s的最小系统板才1块多RMB。

因为要要开发的产品要用液晶显示数字，而且是用电池供电。...]]></description><category></category></item><item><title><![CDATA[安卓6.0 升级后闪退的罪魁祸首fromFile]]></title><link>https://blog.csdn.net/jstaxi/article/details/86517218</link><guid>https://blog.csdn.net/jstaxi/article/details/86517218</guid><author>jstaxi</author><pubDate>Thu, 17 Jan 2019 01:00:35 +0800</pubDate><description><![CDATA[因为Android7.0以后权限改成了动态权限申请。但凡有在安卓开发中调用过fromFile函数的app肯定全部中招。我开发的app在调用系统程序（相机和升级）时就会利用外部存储器交换数据。未升级前一般是用


uri = Uri.fromFile(file);
可以完成外部存储器的读写。但是升到7.0后需要做如下的改进就可以填坑出来。


       if (Build.VERSION.SDK...]]></description><category></category></item><item><title><![CDATA[java.lang.SecurityException: Permission Denial: starting Intent 原来是这样]]></title><link>https://blog.csdn.net/jstaxi/article/details/86441511</link><guid>https://blog.csdn.net/jstaxi/article/details/86441511</guid><author>jstaxi</author><pubDate>Sun, 13 Jan 2019 23:08:03 +0800</pubDate><description><![CDATA[安卓系统升级到7.0后，本人设计的app照相机打不开了。因为Android6.0以后时相机摄像头权限改成了动态权限申请。

修改相应代码参考https://blog.csdn.net/lone1ycode/article/details/79833842

模拟器可以打开相机，但是下载到真机后，点击相机闪退。ide是AndroidStudio，logcat抛出如下提示：

java.lang.Se...]]></description><category></category></item><item><title><![CDATA[小白的tesseract-ocr经验]]></title><link>https://blog.csdn.net/jstaxi/article/details/77832984</link><guid>https://blog.csdn.net/jstaxi/article/details/77832984</guid><author>jstaxi</author><pubDate>Mon, 04 Sep 2017 08:58:15 +0800</pubDate><description><![CDATA[由于项目需要最近花2天时间研究了一下tesseract-ocr。好像用不了2天可能是我拖延症又犯了。
网上关于文字识别的中文资料不多，关于tesseract-ocr的就更少。原因后面讲。我安装并使用了一下使劲挤点干货：
1.识别率。最重要的先说，算了光说算个屁。上个小图。我需要识别的图形，直接截屏的，全英文。
-----------------------------------------]]></description><category></category></item><item><title><![CDATA[安卓Android开发：listView+checkbox的简单实现]]></title><link>https://blog.csdn.net/jstaxi/article/details/71056602</link><guid>https://blog.csdn.net/jstaxi/article/details/71056602</guid><author>jstaxi</author><pubDate>Mon, 01 May 2017 16:27:31 +0800</pubDate><description><![CDATA[安卓Android开发：listView+checkbox的简单实现
项目要用到列表显示并实现每一个条目item的选择。参考网上的listView案例基本上都是在getview处用
holder 作tag来完成的。我用了一下但是在滚动过程中经常出现错乱。holder方案的思路就是只加载显
示部分的数据。这样做的优势是更高效，特别是item数据比较多的情况下。我这里用的方法是在调用数
据表格]]></description><category></category></item><item><title><![CDATA[安卓开发之基于AsyncTask的socket常连接方法。]]></title><link>https://blog.csdn.net/jstaxi/article/details/71056369</link><guid>https://blog.csdn.net/jstaxi/article/details/71056369</guid><author>jstaxi</author><pubDate>Mon, 01 May 2017 15:52:32 +0800</pubDate><description><![CDATA[安卓开发之基于AsyncTask的socket常连接方法。


我要编写一个通过socket和服务器通信的安卓程序。但是安卓主线程也叫UI线程，由于要操控UI不允许建立socket链接之类的有可能阻塞线程的操作。我决定用安卓特有的AsyncTask来完成（应该是安卓特色吧！）。通过2天对AsyncTask的研究。发现AsyncTask有一个局限。如果要在doInBackground部分进行死]]></description><category></category></item><item><title><![CDATA[阿里云服务器的windows系统安装sqlserver经验]]></title><link>https://blog.csdn.net/jstaxi/article/details/54272488</link><guid>https://blog.csdn.net/jstaxi/article/details/54272488</guid><author>jstaxi</author><pubDate>Mon, 09 Jan 2017 02:13:33 +0800</pubDate><description><![CDATA[阿里云服务器windows系统安装sqlserver经验。
不知什么原因我在阿里云上用所有64bit操作系统安装各个版本的sqlserver，破解版，免费版都失败了。有分析说是内存不够。我申请的是阿里云半年免费版，其实也不是完全免费，还要花9元买个40g云盘。最后，在花费了我5天后才搞定。要点是：选择Windows
 server 2008 32bit操作系统Windows server 20]]></description><category></category></item><item><title><![CDATA[安卓开发之AsyncTask革命性用法，抓住漏洞把情报送进去（原创）]]></title><link>https://blog.csdn.net/jstaxi/article/details/53428213</link><guid>https://blog.csdn.net/jstaxi/article/details/53428213</guid><author>jstaxi</author><pubDate>Thu, 01 Dec 2016 23:07:59 +0800</pubDate><description><![CDATA[抓住AsyncTask漏洞把情报送进去。
今天终于穿越火线把数据送入AsyncTask的doInBackground中。
我要编写一个通过socket和服务器通信的安卓程序。但是安卓主线程也叫UI线程，由于要操控UI不允许建立socket链接之类的有可能阻塞线程的操作。我决定用安卓特有的AsyncTask来完成（应该是安卓特色吧！）。通过2天对AsyncTask的研究。发现AsyncTask有]]></description><category></category></item><item><title><![CDATA[小白之路：android studio 如何添加依赖]]></title><link>https://blog.csdn.net/jstaxi/article/details/52778883</link><guid>https://blog.csdn.net/jstaxi/article/details/52778883</guid><author>jstaxi</author><pubDate>Mon, 10 Oct 2016 16:21:58 +0800</pubDate><description><![CDATA[作为一个安卓开发的小白。每天都会遇到问题，把每天解决问题的过程记录下来。也是对自己的一个交代，如果能帮到别人就更好。
今天遇到要读出assets内的txt文件，需要用到 类EncodeingUtils。但是run提示错误，百度得知EncodingUtils是 HttpCore里面的后， 需要安装 HttpCore的库。
其实关于依赖的资料很多。我只提干货注意蓝色背景条:
1.


2]]></description><category></category></item><item><title><![CDATA[android studio 如何添加assets 文件夹]]></title><link>https://blog.csdn.net/jstaxi/article/details/52770832</link><guid>https://blog.csdn.net/jstaxi/article/details/52770832</guid><author>jstaxi</author><pubDate>Sun, 09 Oct 2016 21:59:16 +0800</pubDate><description><![CDATA[android studio新建的工程中没有assets 文件夹。添加方法如下:


下一步直接 finish


assets 文件夹就建好了
用windows的文件管理器选择指定文件复制
回到android studio 用鼠标右键点点击assets 文件夹，

指定文件就加入工程了]]></description><category></category></item><item><title><![CDATA[如何把指定文件编译（加入）APK]]></title><link>https://blog.csdn.net/jstaxi/article/details/52770724</link><guid>https://blog.csdn.net/jstaxi/article/details/52770724</guid><author>jstaxi</author><pubDate>Sun, 09 Oct 2016 21:28:22 +0800</pubDate><description><![CDATA[如何把指定文件编译（加入）APK
把指定文件（如：pingyu.txt）加入assets文件夹。然后用getAssets() 来获取AssetManager引用。
具体可参考下面网址，我就不啰嗦了。
http://www.cnblogs.com/greatverve/archive/2012/03/08/android-assets.html]]></description><category></category></item></channel></rss>