您尚未登录。

#1 Re: 上海航芯 » 想自己实现下载算法遇到的问题 » 2023-11-16 21:06:32

海石生风 说:

下载算法为何还用printf?printf的体量对于bootloader来说太大了。

暂时看下东西而已

#3 上海航芯 » 想自己实现下载算法遇到的问题 » 2023-11-06 00:17:23

演技担当黄晓明
回复: 4

9370c83c604eb0b9b7adf67941eeffd.png

_20231106001447.png

ROPI 打上勾后,编译无法通过,发现是LIB文件引起的.请FAE同学给出LIB文件的源码


还有,怎么擦除整个IC?

#4 Re: Cortex M0/M3/M4/M7 » 2.通过LWIP协议栈使用学习http,tcp,网卡之间的关系. » 2023-10-27 16:17:23

shuimogezi 说:

楼主,请问下这个slipif又在windows下的测试方法吗?

Windows 下有个拨号网络上面的协议有PPP/SLIP

#7 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 不拆SoC,不用X光机,利用已知IO探测未知的IO连接情况 » 2023-10-26 14:00:33

lignin 说:
演技担当黄晓明 说:

JTAG工具.rar
用这个软件可以控制 支持JTAG扫描链的芯片的PIN脚输出输入

这个支持测试altera的引脚吗

都是可以的,只要网站能下载PIN定义资料就可以

#9 Re: 上海航芯 » 点灯完成 » 2023-10-16 09:45:29

aozima 说:

这是拍摄效果导致?还是灯太刺眼了?

现在都是高亮的LED ,晃瞎狗眼

#10 上海航芯 » 点灯完成 » 2023-10-15 02:40:11

演技担当黄晓明
回复: 2

收到板子后,移植了一下以前常用的状态机
写了一个点灯代码

Vibrate.rar

#15 Re: 8051/STC8/AT89C51/N76E003 » N76E003 定时器使用 » 2023-10-11 09:24:50

TangCS 说:

注意一下TA寄存器, 仅只有4个时钟周期的窗口,如果优化基本太高,可能导致后面的指令大于4个周期, 从而操作无效。同理注意xdata赋值给TA保护的寄存器也要考虑时钟周期的问题

     要选小模式编译,这样效率才高,手动指定变量存储地方,这样即可大内存,又有高效率

#16 Re: PikaPython(嵌入式Python引擎) » python pip 下载 pypdf2 插件报错 » 2023-10-09 16:38:14

Windows python安装的时候一定要选中precompile standard library

#18 PikaPython(嵌入式Python引擎) » pip 安装组件时候报 SSL module is not available » 2023-09-22 00:20:36

演技担当黄晓明
回复: 1

pip 23.2.1 from C:\Programs\Python\Python311\Lib\site-packages\pip (python 3.11)

pip安装软件包时报错

Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

说是SSL 的软件版本的问题,但是下载了requests-2.29.0 也没法安装上去
把 libssl-1_1-x64.dll   libcrypto-1_1-x64.dll拷贝到Windows\system32目录都没有用


有大神知道怎么弄吗?

#19 PikaPython(嵌入式Python引擎) » python pip 下载 pypdf2 插件报错 » 2023-09-21 22:20:19

演技担当黄晓明
回复: 1

输入  pip3 install pyPDF2
报告错误如下

Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

问题最终解决地方:
https://github.com/conda/conda/issues/8273

#20 PikaPython(嵌入式Python引擎) » Python 合并pdf 文件 » 2023-09-21 21:43:27

演技担当黄晓明
回复: 0

File.py

#!/usr/bin/python2.6
# -*- coding: utf-8 -*-

import pandas as pd
import os


def get_abs_path(relative_path: str) -> str:
    cwd_path = os.getcwd()
    full_path = os.path.join(cwd_path, relative_path)
    return full_path


def find_file(search_path, readsub = False,include_str=None, filter_strs=None):
    """
    查找指定目录下所有的文件(不包含以__开头和结尾的文件)或指定格式的文件,若不同目录存在相同文件名,只返回第1个文件的路径
    :param search_path: 查找的目录路径
    :param include_str: 获取包含字符串的名称
    :param filter_strs: 过滤包含字符串的名称
    """
    if filter_strs is None:
        filter_strs = []

    files = []
    # 获取路径下所有文件
    names = os.listdir(search_path)
    for name in names:
        relativePath = os.path.join(search_path, name)
        absPath = os.path.abspath(relativePath)
        if os.path.isfile(absPath):
            # 如果不包含指定字符串则
            if include_str is not None and include_str not in name:
                continue

            # 如果未break,说明不包含filter_strs中的字符
            for filter_str in filter_strs:
                if filter_str in name:
                    break
            else:
                files.append(absPath)
        else:
            # 递归调用
            if(readsub):
                files += find_file(absPath, include_str=include_str, filter_strs=filter_strs)

    return files


def get_info(str_path1: str) -> dict:
    dic: dict = {}
    file_name = os.path.basename(str_path1)
    strSplit = "-"
    file_name = file_name.replace(".早.", "早-")
    file_name = file_name.replace(".午.", "午-")
    file_name = file_name.replace(".晚.", "晚-")
    file_name = file_name.replace(".pdf", "")
    substrings = file_name.split(strSplit)
    cnt = len(substrings)
    # 前面的是日期,後面的是時間
    if (cnt > 1):
        dic["Date"] = substrings[0].replace(".", "-")
        dic["Money"] = substrings[1]
    return dic

pdfcombine.py

#!/usr/bin/python2.6
# -*- coding: utf-8 -*-

from PyPDF2 import PdfReader, PdfWriter
import Files

merger = PdfWriter()

files = Files.find_file("./", False, ".pdf")
for pdf in files:
    pdf_reader = PdfReader(pdf)
    page_count = len(pdf_reader.pages)
    for index in range(page_count):
        merger.add_page(pdf_reader.pages[index])

merger.write(".\\output\\all.pdf")
merger.close()

#36 Re: PikaPython(嵌入式Python引擎) » 【pikascript】超轻量级的跨平台嵌入式Python解释器,可以在STM32G030等小资源MCU运行 » 2021-12-02 10:16:51

晚上花了三个小时点灯,点LCD 试了一下,感觉挺好,Python在这里就是个胶水,把基层外设模块粘连起来

#38 Re: Xilinx/Altera/FPGA/CPLD/Verilog » FT4232H可用的Xilinx FPGA JTAG调试器EEPROM分享 » 2021-05-31 09:24:51

@metro 没说替换吧,只是增加,估计用的插件技术增加一个编程器类型

#42 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 逻辑分析仪DSLogic Basic到Plus的升级教程(无需编程器) » 2021-03-31 23:38:08

需要安装USBlib 并安装对应的驱动,不然Python 脚本会报错 USB  连接不上
还要安装Pip PyUSB ,不然Python脚本会报告 usb模块不存在
搞这个东西都摸了两天,看来天分太差学东西就是太慢.

#43 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 逻辑分析仪DSLogic Basic到Plus的升级教程(无需编程器) » 2021-03-31 12:49:25

用最后一个烧录进去还是没用还是Basic.这下懵逼了
楼主那个跳线不对,应该要接1 脚,接地了才能刷进去.

#49 Re: 全志 SOC » V3s新手,谁帮忙下载晕哥的文件到网盘一下,多谢 » 2021-01-25 21:45:48

楼主,坑哥网里都是坑哥的马甲,就我们两个是来白嫖的

#50 Re: ST/STM8/STM8S/STM8L » 开源自己DIY的恒温控制器(养小动物的) » 2021-01-08 11:26:16

还有养螃蟹的爱好?是想在公司里横着走呢?还是想和螃蟹一样拿走老板的壳子?

#52 Re: Cortex M0/M3/M4/M7 » st单片机涨价这么厉害,有什么好的替代? » 2021-01-03 10:34:55

wu150 说:

我用的一款单片机涨价2.几倍,感觉被套路了,开始低价给大家供货,各种项目都用上拉就升价,不过涨价是好事,让老板知道通货膨胀有多厉害,赶紧涨工资

成本上升了,利润下降了,你们这些成本要抠点出来

#66 Re: Php/Nodejs/Web/HTML5/Javascript/微信开发/Python » Python + Qt 入坑记录 » 2020-08-05 20:08:49

ERROR: Command errored out with exit status 2:
   command: 'd:\programs\python\python39-32\python.exe' 'd:\programs\python\python39-32\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\xukaiming\AppData\Local\Temp\pip-build-env-jmcpx2b3\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'sip >=5.3, <7' 'PyQt-builder >=1.1.0, <2'
       cwd: None
  Complete output (59 lines):
  Processing c:\users\xukaiming\appdata\local\pip\cache\wheels\b4\50\c9\930b84257dfd8f8d578b7e6f1325f57ed2457305a48c5c263e\sip-5.3.0-cp39-cp39-win32.whl
  Collecting PyQt-builder<2,>=1.1.0
    Downloading PyQt_builder-1.4.0-py3-none-any.whl (5.5 MB)
  ERROR: Exception:
  Traceback (most recent call last):
    File "d:\programs\python\python39-32\lib\site-packages\pip\_vendor\urllib3\response.py", line 437, in _error_catcher
      yield
    File "d:\programs\python\python39-32\lib\site-packages\pip\_vendor\urllib3\response.py", line 519, in read
      data = self._fp.read(amt) if not fp_closed else b""
    File "d:\programs\python\python39-32\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read
      data = self.__fp.read(amt)
    File "d:\programs\python\python39-32\lib\http\client.py", line 458, in read
      n = self.readinto(b)
    File "d:\programs\python\python39-32\lib\http\client.py", line 502, in readinto
      n = self.fp.readinto(b)
    File "d:\programs\python\python39-32\lib\socket.py", line 704, in readinto
      return self._sock.recv_into(b)
    File "d:\programs\python\python39-32\lib\ssl.py", line 1241, in recv_into
      return self.read(nbytes, buffer)
    File "d:\programs\python\python39-32\lib\ssl.py", line 1099, in read
      return self._sslobj.read(len, buffer)
  socket.timeout: The read operation timed out

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\cli\base_command.py", line 216, in _main
      status = self.run(options, args)
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\cli\req_command.py", line 182, in wrapper
      return func(self, options, args)
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\commands\install.py", line 324, in run
      requirement_set = resolver.resolve(
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 183, in resolve
      discovered_reqs.extend(self._resolve_one(requirement_set, req))
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 388, in _resolve_one
      abstract_dist = self._get_abstract_dist_for(req_to_install)
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 340, in _get_abstract_dist_for
      abstract_dist = self.preparer.prepare_linked_requirement(req)
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\operations\prepare.py", line 467, in prepare_linked_requirement
      local_file = unpack_url(
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\operations\prepare.py", line 255, in unpack_url
      file = get_http_url(
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\operations\prepare.py", line 129, in get_http_url
      from_path, content_type = _download_http_url(
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\operations\prepare.py", line 282, in _download_http_url
      for chunk in download.chunks:
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\cli\progress_bars.py", line 168, in iter
      for x in it:
    File "d:\programs\python\python39-32\lib\site-packages\pip\_internal\network\utils.py", line 64, in response_chunks
      for chunk in response.raw.stream(
    File "d:\programs\python\python39-32\lib\site-packages\pip\_vendor\urllib3\response.py", line 576, in stream
      data = self.read(amt=amt, decode_content=decode_content)
    File "d:\programs\python\python39-32\lib\site-packages\pip\_vendor\urllib3\response.py", line 541, in read
      raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
    File "d:\programs\python\python39-32\lib\contextlib.py", line 135, in __exit__
      self.gen.throw(type, value, traceback)
    File "d:\programs\python\python39-32\lib\site-packages\pip\_vendor\urllib3\response.py", line 442, in _error_catcher
      raise ReadTimeoutError(self._pool, None, "Read timed out.")
  pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
  ----------------------------------------
ERROR: Command errored out with exit status 2: 'd:\programs\python\python39-32\python.exe' 'd:\programs\python\python39-32\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\xukaiming\AppData\Local\Temp\pip-build-env-jmcpx2b3\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'sip >=5.3, <7' 'PyQt-builder >=1.1.0, <2' Check the logs for full command output.

#69 Re: Cortex M0/M3/M4/M7 » BLDC 开源 第一课作业(点灯) » 2020-06-13 08:56:46

锁相环启动一定要先启动外部晶体,等它稳定后才能启动PLL
更改代码如下

void InitPLL(void)
{      
  int32_t i32TimeoutCnt = 0;    
  PllClock = 0;       
  SYS_UnlockReg();
  //Enable external XTAL 12MHz clock
  CLK->PWRCON |= CLK_PWRCON_XTL12M_EN_Msk;  
  i32TimeoutCnt = (__HXT / 1000); // Timeout is about 1ms  
  while((CLK->CLKSTATUS & CLK_CLKSTATUS_XTL12M_STB_Msk) != CLK_CLKSTATUS_XTL12M_STB_Msk)
  {
      if(--i32TimeoutCnt <= 0)
        break;
  }
  /// Set to 50MHz system clock frequency when clock source is from external 12MHz 
  CLK->PLLCON = CLK_PLLCON_50MHz_HXT;

  // Waiting for PLL ready 
  i32TimeoutCnt = (__HXT / 1000); // Timeout is about 1ms  
  while((CLK->CLKSTATUS & CLK_CLKSTATUS_PLL_STB_Msk) == 0)
  {
    if(--i32TimeoutCnt <= 0)
      break;
  }  
  // Set PLL as HCLK clock source (HCLK_S is locked setting) 
  
  CLK->CLKSEL0 = CLK_CLKSEL0_HCLK_S_PLL;        
  SYS_LockReg(); 
   
  SystemCoreClockUpdate();
  
} 

#70 Cortex M0/M3/M4/M7 » BLDC 开源 第一课作业(点灯) » 2020-06-13 01:45:41

演技担当黄晓明
回复: 1

一  将撸的羊毛板子上的nulink2 me掰下来焊接好排线,接上USB,板上灯正常点亮,硬件OK
二  开始编写软件
1.找出占用资源
  调试口
  PWM输出口
  比较器输入口
  时钟口
  LED口
  用NuTool - PinConfigure.exe 生成PIN脚初始化代码
2.拷贝进我的状态机系统
   将Task文件夹拷贝进目录,加入工程
3.启动systick中断 
  InitPLL();
  SysTick_Config(SystemCoreClock/1000);
4.打开闪烁任务
void TaskBlinLed(void)
{

    static unsigned char count =0;           
    count=(++count)%10;   
    if(count==0)
    { 
        //GPIO_ClrBit (GPIOA, PIN11);
      LED1 =LED2=LED3=LED4 = 1;
    }
    else
    { 
        //GPIO_SetBit(GPIOA, PIN11);   
      LED1 =LED2=LED3=LED4 = 0;
    }

}

闪烁正常

唯一美中不足的是外部晶振无法启用,定时不是太准确

作业代码
BLDC.rar

#71 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » WhyCan赞助项目-SuperHUB工程师专用USB-HUB » 2020-06-03 08:00:19

john78 说:

有没有以太网转USB?虚拟USB

usb/ip
这个玩起来可不容易啊,Linux驱动

弄个荔枝派先试试

#83 Re: Cortex M0/M3/M4/M7 » 说说航顺的M0--优秀的国产替代 » 2020-04-27 19:22:34

发现有莫名其妙的死机现象.建议小心点或者开看门狗

#85 Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » vs2017环境,windows系统,检测网线插入拔出状态。 » 2020-04-15 00:40:32

演技担当黄晓明
回复: 3

vs2017环境,windows系统,检测网线插入拔出状态。  ,报告网线是否插入。

#include "stdafx.h"


#include <windows.h> 
//#include "CableLinkTest.h"
#include <iphlpapi.h> 
#include <stdio.h> 
#include <iostream>
#pragma comment ( lib, "iphlpapi.lib" ) 
using namespace std;



int getAdapter_Info()
{
	PIP_ADAPTER_INFO pIpAdapterInfo = new IP_ADAPTER_INFO();
	char strNetWorkName[256];
	//PIP_ADAPTER_INFO结构体指针存储本机网卡信息

	//得到结构体大小,用于GetAdaptersInfo参数
	unsigned long stSize = sizeof(IP_ADAPTER_INFO);
	//调用GetAdaptersInfo函数,填充pIpAdapterInfo指针变量;其中stSize参数既是一个输入量也是一个输出量
	int nRel = GetAdaptersInfo(pIpAdapterInfo, &stSize);
	//记录网卡数量
	int netCardNum = 0;
	//记录每张网卡上的IP地址数量
	int IPnumPerNetCard = 0;
	if (ERROR_BUFFER_OVERFLOW == nRel)
	{
		//如果函数返回的是ERROR_BUFFER_OVERFLOW
		//则说明GetAdaptersInfo参数传递的内存空间不够,同时其传出stSize,表示需要的空间大小
		//这也是说明为什么stSize既是一个输入量也是一个输出量
		//释放原来的内存空间
		delete pIpAdapterInfo;
		//重新申请内存空间用来存储所有网卡信息
		pIpAdapterInfo = (PIP_ADAPTER_INFO)new BYTE[stSize];
		//再次调用GetAdaptersInfo函数,填充pIpAdapterInfo指针变量
		nRel = GetAdaptersInfo(pIpAdapterInfo, &stSize);
	}
	if (ERROR_SUCCESS == nRel)
	{
		while (pIpAdapterInfo)
		{
			if(pIpAdapterInfo->AdapterName)
			for (int k = 0; k<256; k  )
			{
				strNetWorkName[k] = pIpAdapterInfo->Description[k];
				
			}
			printf("%s\n", strNetWorkName);
			//if (!strcmp(strNetWorkName, "Realtek PCIe GBE Family Controller"))
			{
				if (!strcmp(pIpAdapterInfo->IpAddressList.IpAddress.String, "0.0.0.0")) {
					printf("网线没插");
				}
				else
				{
					printf("网线插了");
				}
				printf("%s\n", pIpAdapterInfo->IpAddressList.IpAddress.String);
			}

			pIpAdapterInfo = pIpAdapterInfo->Next;

		}

	}
	//释放内存空间
	if (pIpAdapterInfo)
	{
		delete pIpAdapterInfo;
	}
	return 0;
}

int main()
{
	getAdapter_Info();
	return 0;
}

#88 Re: 8051/STC8/AT89C51/N76E003 » 请问大家N76E003单片机一个串口要接 10个 SIM800C模块读写短信, 用什么方案好呢?模拟开关可以实现吗? » 2020-03-16 09:19:51

春风吹又生 说:

嗯, 就是做一个能插入多张 SIM 卡的设备, 不是用来发垃圾短信的, 是接入某某某的一个专网, 专网的卡又贵得一匹, 加上方便管理只能出此下策.

公安部门的验证 密钥卡吧,这么玩当心被约谈

#89 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 以前的一点IPTV 机顶盒的资料,不止哪里收的,传上来大家看看 » 2020-03-10 09:07:54

演技担当黄晓明
回复: 3

ARM嵌入式在机顶盒方面的开发应用案例.rar
CATV机顶盒设计的原理与实现.pdf
em8620L_A-002.pdf
em8620l_regdes.pdf
GB 8898-2001 音频、视频及类似电子设备 安全要求.pdf
GB13837-2003声音和电视广播接收机及有关设备.pdf
GB17625.1-2003.pdf
GB4943-2001.pdf
GB9254-1998.pdf
P020080526474577207206.part1.rar
P020080526474577207206.part2.rar
华大的机顶盒解码芯片的Code verilog.rar
基于CheerTek CT212T的FTA DVB-T机顶盒解决方案.rar
基于通用DSP实现HDTV机顶盒的研究与设计.rar
嵌入式系统GUI的机制及其在机顶盒上的应用.rar
数字机顶盒硬件结构介绍.pdf
机顶盒的生产测试.PDF
条件接收系统中机顶盒和智能卡安全通信协议.rar
欧洲数字电视.机顶盒能耗标准- COC.pdf
网络变互式数字电视机顶盒硬件平台设计.doc
香港地面机顶盒规范.pdf

数字机顶盒资料.rar

#92 Re: DSP » 公司急需DSP数字电源大牛 » 2020-03-07 07:44:26

wupaul2001 说:

1W5有点小

说了可以谈

#93 Re: Cortex M0/M3/M4/M7 » 点菜宝---到手测评 » 2020-03-06 11:14:20

难怪沦为地摊货,固件和电路都有问题

#94 DSP » 公司急需DSP数字电源大牛 » 2020-03-05 14:25:25

演技担当黄晓明
回复: 12

公司急需DSP数字电源大牛,月薪1w5 ,年底4薪起步的奖金    ,觉得不够还可以和老板谈.工作地点长沙
有意的话联系我的微信 :15330302 ,暗号 DSP数控电源    .

#95 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 请问Qt如何判断一个点是否在多边形内部呢? » 2020-03-05 13:26:40

秦琼卖马,杨志买刀????会不会有人来问,你这个刀不太锋利........

#97 Xilinx/Altera/FPGA/CPLD/Verilog » 请问哪里有新版本的xilinx 的独立编程软件下载? » 2020-03-05 00:52:34

演技担当黄晓明
回复: 7

一起有一个11.1版本的SFD 独立编程软件,现在在win10下已经无法安装,谁有新版本的下载?

#101 Re: 8051/STC8/AT89C51/N76E003 » 发个CH55x系列芯片的keil下载插件 » 2020-03-04 13:43:58

晕哥 说:

灰常感谢分享!

是的,我更好奇的,你是怎么感觉到是架在搬瓦工的?

说明了启用CDN的必要性.要把真实IP藏起来

#104 Re: 8051/STC8/AT89C51/N76E003 » 晒一下CH558跑的CMSIS-DAP v2调试器,下载速度可以达到70KB/s(Flash)和300KB/s(SRAM) » 2020-03-02 04:22:36

ljbfly 说:

厉害,汇编玩的溜!我画了ch563的板子,有高速usb,芯片还没回来,楼主要不要试试,调好硬件送你一块

关注一下调试器速度

#105 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 想看 win32 里面微软封装的那些 gdi32.dll, user32.dll 函数实现, 可以找 ReactOS » 2020-02-26 11:08:37

红白机 说:

#5 那个是微软的泄露源码吗?

不能,如果你用了泄漏的源码,不能放在开源的软件里,会被起诉的,说不定泄漏源码是微软有意的,就是为了给开源软件下毒

#106 Re: Xilinx/Altera/FPGA/CPLD/Verilog » 荔枝糖 nano 入坑 » 2020-02-24 02:11:58

用CH552T做JTAG ,那就是和USB BLASTER 一代的速度差不多啊 ,甚至还不如

#109 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » CH552 版 CMSIS-DAP v2 » 2020-02-22 20:18:50

Blueskull 说:

我也撞车了,不过我做的是SPI flash烧写器,给我的高云FPGA小板用的。速度卡在flash上,硬伤,要想灵活调代码还得搞JTAG。

FPGA板子的传送门在此:https://www.eevblog.com/forum/projects/(poll)-fpga-board-form-factor/

看了下这个FPGA,感觉东西不错啊,好低调

#112 Re: 华芯微特 » SWM181串口如何支持1.5停止位 » 2020-02-07 17:23:14

phpweb 说:

这是什么操作?可以替换 1.5 ?

停止位

#117 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 从淘宝网购买时要小心 » 2020-01-06 11:10:36

你只要承认你的国家在 淘宝所说的全国 境内 ,这个钱咱们出了

#120 Re: 华芯微特 » 松果派PineconePi ONE众筹,华芯微特 SWM320VET7,主频125MHz, 512k Flash,128k SRAM » 2019-12-25 17:41:54

凿子树 说:

听说华芯微特的第二功能是可以重定义的吧。

用的SWM180/SWM181是可以重定义,但是别的系列不可以

#126 Re: 全志 SOC » 尝试从零构建F1C100s开发环境 » 2019-11-25 23:38:54

@晕哥 什么时候出收藏功能啊.这个好帖要收藏

#129 Re: 全志 SOC » 全志违反gplv2许可 » 2019-11-16 11:48:33

smartcar 说:

假如公司配的电脑不是正版的 windows,以下请选择:
1. 自己去买正版系统装上
2. 说服公司买正版 windows
3. 自己没钱,公司也不买,我自己安装一个ubuntu/深度等免费linux桌面
4. 和公司志不同道不合,直接拍桌子走人

道貌岸然的朋友们,你们的键盘选哪个?

可以为了利益低头,但是为了吃饭给公司洗地就不太好了,可以卑微如尘土,但是不可扭曲如蛆虫

#152 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在中国退回购买的产品 » 2019-01-09 23:48:01

欢迎你来中国买东西,下次一定要想清楚了再下单,希望你下次愉快.我只是没想明白,卖家骗你,他又没占便宜, 他这么干是为啥啊

#153 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在中国退回购买的产品 » 2019-01-09 18:57:19

Mitko 说:
演技担当黄晓明 说:

2.美国,欧洲对中国贸易摩擦并不一定全是因为间谍行为,也有可能卖不过中国人,故意下阴招啊.欧美对中国的间谍行为也不少啊.可中国人民从来没有抱怨什么.以前日本人不也是被欧美发起贸易战,也是因为间谍行为吗?是因为你们输不起罢了,就像小朋友,打架打不过就躺地上哭鼻子.

你有一定道理。就个人而言,我有非常沉重的损失,而不是在中国 - 北美,欧洲,甚至在Bulgara都有这样的情况。因为保加利亚经济不平衡。如果这是我做错了,我会接受我的罚款,而不是抱怨等等。但这个案子是中国人明显的错。淘宝卖家没有取消发货,Shipforwarder.com接受了包裹,甚至我要求他们不要。他们为我提供了一笔账单 40美元(包括金融交易费用)。如果我对中国人这样做,你会没事吗?
在阿拉伯语中你的阿里巴巴咆哮意味着什么 - 一个骗子,一个小偷,一个骗子......这意味着非常糟糕,你知道什么样的人被称为Alibabas  - 掠夺者。
损失约50美元(交易成本也有损失)并不理想,我可以接受。对我来说,这些人仍然是大骗子。

我确实使用谷歌翻译,它没有做出正确的翻译,很多单词,并不是我的意思,但我希望你明白这一点。

马云告诉你了他是骗子,掠夺者,你还往上送,那不是你自己的问题了吗?他都说了大实话了
我花50欧元,想娶一个乌克兰美女做老婆.虽然有娶到的可能性,但是娶到一个老太太的可能性也是挺大的,一分钱一分货嘛.
阿里巴巴本来就是卖便宜货的地方,十次有九次没吃亏,已经是很赚了,人要知足.
by the way ,你第二次买的焊机好像还是中国人造的哦,想好了,别又想中途退货,你又得损失物流费了

#154 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在中国退回购买的产品 » 2019-01-09 17:33:26

Mitko 说:

SF空气 - 价格过高的服务。通过DHL从德国到保加利亚的此类物品交付价格约为10欧元--80元人民币。

演技担当黄晓明 说:

中国人民的"奢侈"生活都是自己创造的.并不是靠当骗子或者勒索别人来的,请不要随意称呼别人骗子.

通过贿赂,不遵守法律,窃取技术等我可以称之为他们。对不起,你对正义和法律问题有错误的理解。不知道为什么美国,欧洲已经开始采取措施对付许多中国企业。


1.20KG物品,空运,送货上门,贵国只需要80元人民币?真是便宜.
2.美国,欧洲对中国贸易摩擦并不一定全是因为间谍行为,也有可能卖不过中国人,故意下阴招啊.欧美对中国的间谍行为也不少啊.可中国人民从来没有抱怨什么.以前日本人不也是被欧美发起贸易战,也是因为间谍行为吗?是因为你们输不起罢了,就像小朋友,打架打不过就躺地上哭鼻子.

#155 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在中国退回购买的产品 » 2019-01-09 16:19:53

Mitko 说:
演技担当黄晓明 说:

前苏联人民现在穷成了这样子了吗?

不幸的是,即使作为欧盟的一个成员国,前苏联人民也很穷。我们不想支付一些中国人在遇到经济困难时过上奢侈和致富的生活。

我目前正在与https://www.yimeikuaidi.com/交谈,他们提供了相当合理的运费:2公斤。到保加利亚 -  188 CNY有人尝试或使用过他们的服务?

真是便宜,不过你要有等很久的心理准备,有可能是铁路运输,运到贵国可能要一个月.SF可是空运.全中国一般都是两天之内到货,最多不超过三天.是中国国内最贵的快递了.其他的快递公司都是半价.中国人民的"奢侈"生活都是自己创造的.并不是靠当骗子或者勒索别人来的,请不要随意称呼别人骗子.

#156 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 在中国退回购买的产品 » 2019-01-09 15:52:22

楼主可能以为广州到山东就是巴黎到柏林那么远,骑个自行车一天多就能到,买了最重的货物,运送超远的路程,发了最贵的快递,为了300人民币掰扯了那么久.这也就中国人请一个人吃外卖的钱.前苏联人民现在穷成了这样子了吗?

#165 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » 【github项目】又发现一个轻量级开源UI nuklear,酷炫界面,支持矢量字体。 » 2018-11-13 23:25:22

晕哥 说:
晕哥 说:
演技担当黄晓明 说:

晕哥,能把VS的工程放出了吗?这个看起来不错

好像直接新建一个 Win32 窗口项目, 然后添加文件就可以了。

我回去看看,还在不在电脑,如果有就传上来.

下载地址: nuklear_debugdump.7z

由于git仓库太大,比 .git 目录删除了。

工程文件是哪个?

#171 Re: Qt/MSVC/MINGW/C++/MFC/GTK+/Delphi/BCB » 2018马上就来了,趁着年前发一个以前写的大数运算的代码 » 2018-05-08 22:11:13

我在阿莫论坛也发过一个大数字的加减乘除,当时用来算DDS的系数的,不知道淹没在哪个沟里了

#172 Re: DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 仿人控制 300-1000全范围控温精度+-1度,丢入冷物料3分钟快速升温最高超调2度 » 2018-05-08 21:19:36

/******************************************************************************
	FILE:       FUZZY.C
	POPURSE:     
	WRITER:     Xukaiming 
	DATE:       2007.03.08
******************************************************************************/
#include "main.h"
#include "task.h"
#include "fuzzy.h"
#include "ied_ctrl.h"
#include "math.h"     
#include "x5043.h" 
#include "manctrl.h"


#define ERRORCNT  9			//误差记录
#define DERRORCNT 10		//误差变化率记录
//#define DOOROPENSPEED  -15L	//开门时的升温速度,如果低于此温度,认为电阻丝的热量完全散发出来或者开门升温
xdata long DOOROPENSPEED = -15L;
#define MAXNEGINTERG   (-200L*KI/Ki) 
extern code unsigned int K_Temp_Tab[];
typedef struct AI_CONTROL
{
	long gDest;  			//目标温度的AD值
	long CTEMP;				//开始控制温度

	long Error[ERRORCNT];			//偏差
	long dErr[DERRORCNT] ;			//偏差变化率	   
	long ECSUM;				//10S内的偏差变化率之和		    
	long SumErrLimit 	; 	//加热初值			 
	
	long PreviewOut;
	long HFDownTemp ;
	long du;
	long DoorOpenValue;	//保存炉子门状态  	 
	char LowSpeedCnt;
	unsigned int  iDestTemp;	//目标温度值
	unsigned int  iStableCnt;	//输出稳定次数
	unsigned int  iPreStabCnt;	//保存的稳定次数
};

#define  Kp		15           		//输出变量u比例因子
#define  Ki		1/10 				//衰减系数;		    
#define  KI		15

//Kp 变小的时候 ki要变大	  
xdata   struct AI_CONTROL Ai_CTRL;						  
void TaskFuzzy(void)
{
	char cnt;
	_nop_();
 	 
	if(IED.lADTemp>MAX_TEMP)        			 //超温保护
	{
		SetPWM(PWM_PITCED);	  
		return ;  
	}  
	//求偏差
	for(cnt=ERRORCNT-1;cnt>0;cnt--)
	{
		Ai_CTRL.Error[cnt]	= Ai_CTRL.Error[cnt-1];	
	}                    //保存上次偏差值  
	Ai_CTRL.Error[0]	= (long)(((Ai_CTRL.gDest-IED.lADTemp)/KC));	
	for(cnt=DERRORCNT-1;cnt>0;cnt--)
	{
		Ai_CTRL.dErr[cnt]	= Ai_CTRL.dErr[cnt-1];	
	}                  	//保存上次偏差率值
	Ai_CTRL.dErr[0] 	= Ai_CTRL.Error[0]-Ai_CTRL.Error[1];														//计算偏差变化率    
	Ai_CTRL.ECSUM  		= Ai_CTRL.dErr[0] + Ai_CTRL.dErr[1] + Ai_CTRL.dErr[2] + Ai_CTRL.dErr[3] + Ai_CTRL.dErr[4];	//10s的温升速率	  =iol		 
	if(Ai_CTRL.Error[0]<Ai_CTRL.CTEMP)      
	{  
		
		if(((Ai_CTRL.Error[0]*Ai_CTRL.dErr[0])>0) || ((Ai_CTRL.Error[0]==0) &&( Ai_CTRL.dErr[0]!=0)))   //误差变大的情况
		{ 
			Ai_CTRL.SumErrLimit +=Ai_CTRL.Error[0]; 					//误差变大的时候,求积分			
			if(Ai_CTRL.SumErrLimit<MAXNEGINTERG)						//限幅,如果超过负的最大值, 保持为负的最大值
				Ai_CTRL.SumErrLimit=MAXNEGINTERG;
			//////////////////////////////////////////////////////////// 
			Ai_CTRL.du = Ai_CTRL.Error[0]*Kp+Ai_CTRL.SumErrLimit*Ki/KI*Kp;	  	//增益抑制模式	                         //				
		}
		else              								//开环保持模式
		{
			if(((Ai_CTRL.Error[0]*Ai_CTRL.dErr[0])<0)||(Ai_CTRL.dErr[0]==0))				  	//误差变小的情况
			{		   
				Ai_CTRL.du =  Ai_CTRL.SumErrLimit*Ki/KI*Kp;                  
			}
			else
			{
				Ai_CTRL.du = Ai_CTRL.PreviewOut;	
			}
		}  							 
	}
	else	
		Ai_CTRL.du=PWM_PERIOD;      //升温

  
	if(Ai_CTRL.du<0) Ai_CTRL.du=0; 
	if(Ai_CTRL.du>PWM_PERIOD) Ai_CTRL.du=PWM_PERIOD;  
																	    
#ifdef _DEBUG   
	printf("%ld,",Ai_CTRL.CTEMP);
	printf("%ld,%ld,",Ai_CTRL.Error[0],Ai_CTRL.dErr[0] );
	printf("%ld,%ld,%d\n",Ai_CTRL.ECSUM,Ai_CTRL.SumErrLimit,(int)Ai_CTRL.du);
#endif
	SetPWM((unsigned char)Ai_CTRL.du); 
	//保存上次输出
	Ai_CTRL.PreviewOut=Ai_CTRL.du;	   

}	 
  
//functions prototype
/************************************************************************
仿人智能控制器//Humanoid Intelligent Controller
************************************************************************/

/*******************************************************************
    模糊控制数据变量
********************************************************************/
void InitFuzzy(void)
{								   
	Ai_CTRL.DoorOpenValue = 0 ;//  重新统计升温速度	 
	Ai_CTRL.LowSpeedCnt=0;
	SetPWM(PWM_PITCED);
}

/*********************************************************************
    启动高温炉
**********************************************************************/
void CtrlStove(UCHAR cOpen, long lDefTemp, UCHAR cRate)
{
	xdata  StableTempTab  psTmpTab;
    //停止				  
    SuspendTask(TASK_FUZZY);
	InitFuzzy(); 
    if(cOpen)       //启动
    {								  
	    Ai_CTRL.gDest = (((double)(0xFFFFFFUL<<2))/5000000UL)*K_Temp_Tab[lDefTemp]+20;    //将 目标 温度值 转换 为 AD值   
		Ai_CTRL.CTEMP = (1010L-lDefTemp) ; 				 							//控温范围 
        ActiveTask(TASK_FUZZY, PWM_SCAN);	
	 }										
}
/**********************************************************************
    设置PWM,PWM0控制高温炉
    16MHz时,T=2*512/16=64uS,F=42.666KHz,计数周期=256,占空比=0%--99.61%
***********************************************************************/
sbit POUT = P1^3;
char gcPoutTimer  = -1;

void StopPOut()
{
	POUT = 1;
}

 

void SetPWM(UCHAR cPeriod)
{   
	/*  
	CMOD  = 0x00; 					// Setup PCA timer
									// Configure PCA0 Counter operating mode
	CCAP0L=CCAP0H=cPeriod;			// Set duty for TCM0
	CCON  =0x40;			
	CCAPM0=0x42;					// Set TCM0 operationg mode	 		
	*/
	long period;
	StopTimer(&gcPoutTimer); 
	POUT = 1;
	period = PWM_SCAN*cPeriod/255/10;
	if(period>0)
	{
		POUT = 0; 
		gcPoutTimer = StartTimer(TIMER_MODE_ONCEROUTINE,period,StopPOut,0);
	}
	 
}
 

#173 DIY/综合/Arduino/写字机/3D打印机/智能小车/平衡车/四轴飞行/MQTT/物联网 » 仿人控制 300-1000全范围控温精度+-1度,丢入冷物料3分钟快速升温最高超调2度 » 2018-05-08 21:16:54

演技担当黄晓明
回复: 5

硬件:
1。用可控硅控制4.5KW电炉 用K型热电偶采集温度,采用cs1242做温度转换,可以到正负一度的精度


实验目标:
在300度到1000度内可对任意设定的温度恒温,精度先做到+/-1度吧

基本的控制实现方法:
因为是对加热的炉子温度进行控制,属于滞后效应系统,所以采样周期先定为2秒(这里指的是PID计算的周期,注意我的温度采样是实时的),所以CPU外部中断次数为15次/S,对应的功率计算结果输出为0~255,就是说把这2秒钟划分为255等份,根据计算的结果来决定在这2秒钟内应该加热多少等份


下面是控制曲线输出的表格 0.1度为单位
升温曲线



源码下载:  https://whycan.cn/files/members/338/fuzzy.rar

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn