mikroc - 为什么我的 If 语句不能正常工作?
问题描述
所以我正在构建一个简单的 MikroC 程序,如果 PORTA.B0 等于 1,则设置 PORTB.B0
void main() {
PORTA.B0=1;
while(1){
if(PORTA.B0){
PORTB.B0=1;
}
}
}
但是它没有给我任何东西 PortB.B0 不等于 1 只有 portA。
任何人都可以帮忙吗?
解决方案
根据您的代码,您必须已将 portb.rb0 和 porta.ra0 位的方向分别初始化为输出和输入。此外,您需要为去弹跳稍作延迟。
void main()
{
ANSEL=0x00;
trisa.ra0=1; //for input
trisb.rb0=0; //for output
while(1)
{
if (porta.ra0)
{
portb.rb0=1; // setting high
delay_ms(300); // time to stabilize mechanical button
}
}
}
推荐阅读
- python - 如何使用 sqlalchemy 从多个数据库中获取数据?
- image - Flutter image_picker不保存原点名称
- swift - 如何在字符串文字中表示 utf8 十六进制字符?
- c# - 无法在组合框中选择项目
- javascript - Puppeteer 如何根据元素数组从地图中记录对象列表,通过 $() 获取
- python - 更新谷歌表格后,气流随时触发 DAG
- constraints - Keycloak H2登录失败:约束已存在
- python - 深度神经网络不学习任何东西
- python - 使用带有代理(http)的sftp上传文件,使用python-paramiko
- bash - 使用 sed 更改复杂字符串 | grep