-
LZ的问题是RS485差分线没有上下拉的结果
-
我是发送没问题,接收有时候就收不到最后一个数据,楼上的有没有遇到?
-
到现在也没有一个结果,没办法也只能再买一包“Y”版本的了。
-
香水版主真有耐心。换转在俺的地盘,至少要楼主改成如下标题才搭理他。否则当作倒乱份子看待。
“试了STM32 ADC 太烂?”
从原理图上看出,楼主的模拟电子技术其实还没入门。
测试电路中ADC的电容接法就是错误的。至于为什么会是错的?
麻烦楼主回去学习两年模拟电路后再上来放P话。
-
引用 14 楼 linwang2008 的回复:
怎么样设置让系统编译后产生block0img.nb0 这个文件啊?
同样关注中
-
好现在举个例子,请大家帮着分析下按照WinCE自带的s3c2410BSP来说它实现中断使能功能的函数是OALIntrEnableIrqs,但是它这个函数是被WinCE 自带的函数0MInterruptEnable()来调用的,WinCE 自带这个0MInterruptEnable()这个函数位于它的oem.c文件中。但是在我现在这个EP9315开发板的interrput.c文件当中也有一个0MInterruptEnable()函数,它就是最使能我的这块开发板中中断的函数。显然是当我们在驱动中调用InterruptInitialize()函数时,它只能去调用我的开发板BSP当中这个
0MInterruptEnable()函数,而不能去调用wince自带oem.c文件当中0MInterruptEnable()函数。而在oem.c和interruput.c文件当中都包含定义0MInterruptEnable()函数的头文件,所以wince在编译时,肯定两个不能同时编译了,对吧,不然编译都通不过。我在定制工程时,并没有设置什么特别的参数,wince怎么实现这种智能编译的了。
-
学习了
-
先顶了
-
问做开发板厂家的有技术支持吧,他们最清楚。
-
回调....
-
各位大侠~~
学单片机有必要学对硬件了解吗?
-
楼上该说的都说了,我只好帮顶了
-
贴出来,让大家集思广益吧,单靠一个人不一定能解决
-
引用 8 楼 oushengfen 的回复:
arm和单片机有什么区别,我也不知道,arm到底是什么?
arm可以跑一个操作系统。。。
单片机不可以
-
都不知道下载哪个好了
-
万利EK-STM3210E开发板的NOR FLASH 似乎是 SST39LF040,是8位的。
可以这样改改:
#define ADDR_SHIFT(A) (Bank1_NOR2_ADDR + (2 * (A)))
#define NOR_WRITE(Address, Data) (*(__IO uint16_t *)(Address) = (Data))
改为:
#define ADDR_SHIFT(A) (Bank1_NOR2_ADDR + (1 * (A)))
#define NOR_WRITE(Address, Data) (*(__IO uint8_t *)(Address) = (Data))
然后试试看。
-
请重新安装下您的操作系统
-
A D 才可以
-
这是完整的程序代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace DeviceApplication4
{
public partial class Form1 : Form
{
SerialPort ComPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SendData("1");
this.label1.Text = "我按了第一个按钮";
}
private void button2_Click(object sender, EventArgs e)
{
SendData("2");
this.label1.Text = "我按了第二个按钮";
}
private void button3_Click(object sender, EventArgs e)
{
SendData("3");
this.label1.Text = "我按了第三个按钮";
}
private void button4_Click(object sender, EventArgs e)
{
SendData("4");
this.label1.Text = "我按了第四个按钮";
}
private void Form1_Load(object sender, EventArgs e)
{
ComOpen();
ComPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
}
//发送数据
private void SendData(string s)
{
if (ComPort.IsOpen == true) ComPort.Close();
try
{
ComPort.Open();
if (ComPort.IsOpen)//检查串口是否打开
{
// 发送用户的文本到串口
ComPort.Write(s);
}
else
{
MessageBox.Show("可能串口没有打开!", "提示");
}
}
catch
{
MessageBox.Show("出现异常请重新启动程序!", "提示");
}
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// 读取缓冲区的数据
string data = ComPort.ReadExisting();
// 显示读取的数据到数据窗口
updateReceiveText(data);
}
public void updateReceiveText(string msg)
{
this.textBox1.Invoke(new EventHandler(delegate
{
//this.textBox1.AppendText(msg);
this.textBox1.Text = this.textBox1.Text + msg;
this.textBox1.ScrollToCaret();
}));
}
private void ComOpen()
{
if (ComPort.IsOpen == true) ComPort.Close();
// 打开串口
try
{
ComPort.Open();
}
catch
{
MessageBox.Show("没有发现此串口或串口可能被占用!", "提示");
}
}
private void button5_Click(object sender, EventArgs e)
{
this.textBox1.Text = " ";
}
}
}
-
如果这样直接能访问,RDA就没有存在的必要了